Local time and universal time are wrong. They are shifted to -2 hours to the real time.
Setting the timezone didn't solve because the universal time is wrong.
I'm running Ubuntu 14.04 and I have a dual boot with Archlinux (NOT windows).
EDIT:
After setting UTC on rcS file to "no" and REBOOTED also Ubuntu started to show the right time.
Best Answer
The BIOS clock is incorrectly storing the local time, which isn't what is normally done on Unix/Linux (but is on Windows).
Your Arch Linux is set to store time in local time instead of UTC/GMT for some reason therefore when you reboot into Ubuntu, which is configured (correctly) to expect the BIOS clock to be storing UTC/GMT time, it's actually two hours off.
I haven't got Arch Linux in front of me, but I think it should go something similar to the following:
Set Arch to use UTC/GMT time:
Set the correct time:
Reboot (maybe)