HP3000/HP 3000 FAQ
Last Updated: Thursday, February 01, 2007 02:38 PM
What's the difference between the hardware clock and the software clock on the HP3000? How does the :SETCLOCK command work?
3.9. What's the difference between the hardware clock and the software clock? How does the :SETCLOCK command work?DP
After reading the doc for SETCLOCK, I am under the impression that only the TIMEZONE form of the command does not change the hardware time:
And he's right. There's no need to change the hardware clock just to change time zones.
John also writes:
If you do SETCLOCK CORRECTION=-3600, your hardware and software clocks should change. It would be nice if the output of SETCLOCK specifically said which clocks were changing.
Since the hardware clock is not referenced during normal operation of the system, I'm afraid that mentioning it in the output of the SETCLOCK or SHOWCLOCK commands would confuse users into thinking that the hardware clock plays a role in obtaining timestamps. I'd rather the hardware clock be invisible.
Billy Rowland writes:
form clock affected type of change ----------------------------------------------------------------------- date-time: local and universal gradual (default) or immediate correction: local and universal gradual (always) time-zone: local only immediate (always)
Which is mainly correct, except that for a time zone change from Daylight Savings to Standard (as northern hemisphere systems had last week) the change is not immediate. See the Communicator articles for a description of this embarrassingly complicated behavior. In essence, when going back to standard time, local time slows down gradually, while Universal time jumps forward immediately, then slows down gradually until it matches what it would have been if no SETCLOCK command had been issued. Weird, huh?
In another thread, Jeff Vance writes:
The clkutil utility sets the h/w clock only, and should not be needed anymore. The h/w clock is really only needed for the time prompt at boot up.
I think there is still a need for CLKUTIL. John gave an example of the hardware clock being set exactly one day ahead of where it should have been. If a system's hardware clock is set totally wrong, correcting it with the SETCLOCK command can get confusing. First you have to use SETCLOCK to set the correct time zone. Then you notice an enormous correction, so you have to use SETCLOCK;CANCEL to get rid of it. Then local time is still not correct, so you have to use SETCLOCK a third time to set the correct local time. *AND* it turns out that you have to use the ;NOW option this third time to accurately set the hardware clock. (I found this out *after* the Communicator articles had been written.) And maybe you just don't want to use the ;NOW option.
So sometimes it's just easier to sigh, reboot the system, and run CLKUTIL at the ISL prompt.
(Often you think that you've done everything right, but when the system is next booted, the operator is presented with a time which is off by 15 minutes or more. That's a hint that rather than proceed with the boot, the operator should reboot the system, get to the ISL prompt, and use CLKUTIL to set the hardware clock.)