Snow covers Russia for most of the year. In the months of May and September, flurries are usually seen in two of the country’s largest cities, Moscow and St. Petersburg. Januarys are milder due to the global warming, but nonetheless, the overall temperature is still lower and thus colder. Understandably, Mays and Septembers see lesser crowd in the streets of St. Petersburg as well as lower accommodation rates.
Summers are most favored by tourists as the perfect time to visit the city. During this time, sunsets linger and the temperature is balmy. During this time, nightlife in the city goes at its peak and people can party even until 3am without noticing it. Open concerts and festivals are top choice of activities every summer, while dance companies and operas on seasons otherwise.
Decembers are the best time to experience winter wonderland in St. Petersburg. Here, tourists can enjoy skate-skiing around the frozen Gulf of Finland and even just skate along the frozen ponds in the city. The downside of going to St. Petersburg on a winter though is that, aside from filling your suitcase with sweaters, most of the outdoor sites and palaces in the city close during this time.
Basically, the best time to be in St. Petersburg depends on the activities you are planning to do in the city. So make that itinerary first and see if it is better for summer, winter, or on other seasons.