Several hours is usually a wrong timezone, try reconfiguring timezone, i.e.
Debian:
dpkg-reconfigure tzdata
CentOS:
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
If this is OpenVZ host node time is off, you can update it on the node via:
ntpdate pool.ntp.org
Or you can add sys_time to a container and set it, i.e:
vzctl stop 101
vzctl set 101 --capability sys_time
n --save
vzctl start 101
vzctl exec 101 ntpdate pool.ntp.org
If this is OpenVZ and you're not the admin, you'll have to ask your host to correct the time difference for you.