Click on the clock and choose "Change date and time settings..."
Click the "Internet Time" tab. Is it set up to synchronize the time with
time.windows.com? If it is, try unchecking that box, saving the settings, and rebooting to see if that fixes your problem. If it isn't checked already, try checking it and making sure it is set to
Here is an article that may explain the problem:
Windows/Ubuntu Dual Boot-Setting time in one changes time in the other
The BIOS is the base clock and keeps
time when the OS is off.
He boots into Windows, and the time is
out. He either fixes it by hand or
via time server, and Windows helpfully
'fixes' the time on the hardware clock
on the motherboard in BIOS. Then he
reboots into Ubuntu, and it picks up
the time from the motherboard and sets
the OS to that time. It's out by 4
hours because Linux expects the
hardware clock to be UTC rather than
EDT. In Ubuntu he either fixes the
time manually or by ntp time server,
then when he shuts down Linux
helpfully 'fixes' the hardware clock.
And around we go...
Note you don't get this when you run
one or the other virtualized - just
when you dual boot.
Does that explain it better?
So it seems that for dual booting Windows and Ubuntu, both need absolutely to use a time server.
See this for Windows : Dealing With Windows Vista Time Sync Problems.