You probably have the TZ environment variable set incorrectly.
If you have the "Automatically adjust clock for daylight saving changes" checkbox on the Timezones tab of the "Date and time properties" dialog (double click the time on the startbar) and you have TZ unset, localtime will give the correct result.
SET TZ=GMT or SET TZ=BST and it will be wrong.
SET TZ=GMT0BST and it will be correct.
(leastwise, that's what happens here!)
P:\test>set TZ=
P:\test>perl -le"print ~~localtime" & time /T
Tue Sep 14 10:49:05 2004
10:49
P:\test>set TZ=GMT
P:\test>perl -le"print ~~localtime" & time /T
Tue Sep 14 09:49:13 2004
10:49
P:\test>set TZ=BST
P:\test>perl -le"print ~~localtime" & time /T
Tue Sep 14 09:49:20 2004
10:49
P:\test>set TZ=GMT0BST
P:\test>perl -le"print ~~localtime" & time /T
Tue Sep 14 10:49:28 2004
10:49
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon
|