The warmest months in Hannibal are usually July and August with an average temp of 76°F. January and February are the chilliest months when the average temp is 35°F. The rainiest months are May and June.