Here are my notes on dealing with the clock. It may or may not answer your question, but it should give some details on how the hardware clock and the system time interact. ON SYSTEM STARTUP: /etc/sysconfig/clock: UTC=true # Indicates that the HW clock is kept in Coordinated Universal Time ARC=false # not used :) first run: hwclock --adjust -uses /etc/adjtime to adjust for hardware clock drift second run: hwclock --hctosys --utc -sets system time from hardware clock -hardware clock is stored in UTC (if UTC=true set as above) -also sets the kernel timezone value based on TZ environment variable or from the /etc/localtime symlink READING: read system time: date -R read hardware clock: hwclock --show # do not adjust for UTC--show actual stored value hwclock --show --utc # adjust for UTC, should show same thing as date if things don't look right, check that TZ variable is set to the same thing that /etc/localtime symlink points to. (or TZ variable is not set) ADJUSTING: set system time to localtime + timezone offset, i.e. date --set="Thu, 10 Aug 2000 11:18:32 -0700" set hardware clock from system time, adjusting for UTC: hwclock --systohc --utc -duncan