You could be pregnant , have you taken a pregnancy test or been to a doctor,
your diet & exercise could change the dates of your period. Spotting sometimes happen early in pregnancy and if you have put on any weight you could be pregnant. You should take a test and see a doctor . Get checked out if anything
weight could be the reason but to rule out pregnancy take a test, even with no major symptoms u can still be pregnant..... After that talk to obgyn about the reason why u have not had ur period and get real answers