Wait, the 31st? That's tomorrow. Do you mean the 30th?
If your period is now a month late (if I'm understanding your post right) a pregnancy test would be accurate. Take another one tomorrow (or as soon as you can). If it's negative, go to your doctor and tell them your period is a month late. They might give you some medication to jump start it.
Stress can delay a period. I know that rapid weight loss can also delay a period, so I would assume weight gain might do the same.
If you're not pregnant, it might be a good idea to get back on your birth control. It doesn't sound like you're ready for another baby just yet, and being on the pill will help ease your mind. Good luck!