The best time to visit St Petersburg is May to September. Famous «white nights» last approximately from the 20th of May to the middle of July. Unfortunately during this period St Petersburg is overcrowded with tourists and hotel rates are the highest.
If I were a foreigner I would probably choose July to visit St Petersburg as it is the warmest month and the sky is most likely to be blue ( it’s quite rare for St Petersburg that is sometimes called the city of rain). Also if you want to see Peterhof fountains you should visit St Petersburg during the warm season – they are usually operating from 10-11 May to the beginning of October ( the exact dates depend on weather and may change every year).
April and October are ok for coming, but do bring warm clothes. November and March are sometimes considered “winter” months as there is snow. January and February are usually the coldest – some days the temperature may be as low as -15-20C, but to tell you the truth it is quite rare. Another problem with winter in Saint-Petersburg is that snow is very poorly removed from the central part of the city ( the pavements are slippery and there are enormous mountains of snow everywhere so it’s hard to walk) and, what is more, icicles are sometimes falling from the roofs right on the streets. Shame on the government, this problem hasn’t been settled yet.The good thing is that you are not likely to see as much snow nowhere in big cities in Europe. 🙂
St Petersburg walking tours