First of all, I want to note that my city (Saint-Petersburg) can be a great place at any time, if you have a good company for it :)
Also, see the official site for tourists (in English).
Weather in Saint-Petersburg is in somewhat similar to Kaliningrad's one, but with some differences. Here the air humidity always over 80%, and this is quite uncomfortable during temperature peaks, either during winter or summer.
Also you should be prepared to any weather during the day - sometimes we have a rain on one side of the street, and sun on the other side. So a backpack with umbrella and clothes will be useful even during the summer.
According this, the average temperatures are quite useless for you in our city - at the end of this April we had +15°C during the day, and -1°C during the night - and you should always remember about such strange behavior.
I think this two sites can help you during your journey:
- GisMeteo - popular site with weather forecasts, but sometimes not very accurate.
- GidroMetCentre - much more scientific and accurate forecasts, but only for a week ahead.
As for me, Saint-Petersburg has four general seasons:
- From the middle of January till the middle of April.
The hardest time for anybody - snowy and rainy cold weather with long dark nights and short days. Even during spring snow and cold weather are still here.
Cultural events are rare and not very popular among the tourists. Many people have their vacations outside the city and (in general) outside the country.
- From the middle of April till the middle of the July.
The opposite side of the seasons - the greatest time during the year. Warm weather comes rapidly, the city became beautiful and much more friendly. Famous White Nights come to the city step by step, city birthday is celebrated, and many tourists are in the city. But be aware of poplar fluff - it can be annoying.
- From the middle of July till the middle of October.
Personally my favorite time. Summer heat is going down, nights are still short and comfortable, tourists crowds are dissapearing from day to day. After fall came, parks and gardens are very beautiful. This time of year called Indian summer in English, but in Ruassian it has other name: "Bab`ye Leto" (Woman's summer), and the city is very romantic during this time of the year:
- From the middle of October till the middle of January.
This time also is not for tourism in general. Some days are still warm and sunny, but from November's start the only time you should visit St. Petersburg is a Christmas (either Catolic or Orthodox Christianity) and New Year. The city is very beautiful this time, and there are a lot of small and big fests you can visit:
Amount of tourists
I'll use the same periods, so here we go:
- The late winter and early spring is not quite popular among the tourists, and I can understand them :)
- From the middle of April, as the weather is going be better, the tourist crowds are more and more huge, and in June we have a peek of them. For example, right now the weather is warm, no rain, no wind, temperature is near +23°C - most comfortable for anyone here. So this time city is quite popular among the tourists.
- From the middle of July the White Nights are fade away, tourist crowds are smaller and smaller, but the city are still beautiful, weather still good, with rare rains. Good time for a walk, sightseeing and so on.
- Visit Saint-Petersburg in late autumn and winter is very risky trip. I recommend you only the Christmas and New Year time - its beautiful here, and the temperature isn't very hard for you.
Festivals / Cultural events
Generally, you can find a cultural event at any day of year here. Some cinema fests, music tours, picture showings, book presentations, and so on, and so on.
For example, this year:
This is only I found in a 5 minutes. Make a local contacts, get information, and welcome to Saint-Petersburg.