We live a little south of St. Petersburg, in Vilnius. The winters kind of fluctuate between bitter and mind-numbingly, soul-destroyingly cold (and I'm a Canadian) though in truth, it doesn't get really wintry until January, usually. That said, it snowed here last October. You can probably count on temps hovering just below freezing (maybe down to -10 or even -15 C.) but maybe not too much colder. I don't know whether it's sunny there in the winter - here it's mostly grey, but not too snowy, in Kiev and Moscow it's often gloriously clear but when your eyes are frozen shut, that beauty is lost...
Basically, there is a reason that people here wear fur. Lots of it. So if you are affiliated with PETA, don't come. We are surviving with multiple layers of polar fleece, wool and good winter parkas, fleece lined jeans are the greatest invention yet, I think. Above all, keep your extremities warm, with the best boots you can find (we've got Sorels), a really good hat with some cover for your ears, scarf and mittens. You can buy fur or sheepskin ones in the markets in Vilnius, I imagine St. Petersburg is similar.