St. Petersburg really shines from May through July, during the legendary White Nights—the annual period of long summer days when the sun barely dips beneath the horizon. Residents shake off months of punishing cold and darkness and enjoy about 80 days of near round-the-clock sunlight (and 60- to 80-degree temperatures), with picnics in the park and boat rides at midnight.

This phenomenon isn’t limited to St. Petersburg, of course—Moscow’s days are extended in summer, too—but the White Nights are celebrated as a kind of city-wide holiday here more than anywhere else in the country. Bars and dance clubs stay open past 6 a.m., and the Mariinsky hosts the White Nights Festival, a weeks-long series of classical music, ballet, and opera performances. On July 3, there is a 24-hour festival honoring St. Petersburg’s own Fyodor Dostoyevsky.

After August, winter arrives—and it lingers. It’s not uncommon to find a thick layer of ice across the city’s canals and a blanket of snow in the streets in mid-April. For months, the sun makes only brief appearances. But St. Petersburg’s winter temperatures are less arctic than its northern setting might suggest. Even in the dead of winter, in January, temperatures average 10 degrees—cold, but not brutal. In fact, if you favor white wonderlands, a winter trip to St. Petersburg can be delightful. You’re virtually guaranteed picturesque snowy scenes. Just avoid the spring shoulder season, in March and April, when that lovely white blanket starts to turn into gray slush.