It sounds like Mac OS X is expecting the computer's clock to be set to UTC, and Windows is expecting it to be in your local time zone, +3:30. When you boot Windows, it is synchronizing the clock with a time server on the Internet, noticing that your clock is 3:30 "slow", and adjusting it for you so your system clock now is storing local time (+3:30). Then when you boot back into Mac OS X, it thinks the system clock is still UTC, so it adds your offset again, for a total offset of +7:00.
Did you install the Boot Camp tools in Windows? If not, do that first and see if it fixes the time problem. I never had this problem, and sources online say that newer versions of Boot Camp tools take care of this for you.
If that doesn't work, in Windows, open the registry editor and navigate to the key:
and check the value of
RealTimeIsUniversal. Change it to 1. That way Windows will store UTC time on the system clock, which is what Mac OS X is expecting.