SUMMARY: Time Zone

From: Jackie Rosinsky (jackie@rentec.com)
Date: Mon May 24 1999 - 16:44:28 CDT


Thanks to Casper Dik who pointed out that
The slower TZ is correct; the faster TZ has hardcoded start and end dates
and has no knowledge of the past.

MOre Detail
------------
The "US/Eastern" specification uses the rules from
/usr/share/lib/zoneinfo/northamerica

The EST5EDT form uses "implementation specific start and end times"
(see environ(5))

It uses rules like:

Rule US 1974 only - Jan 6 2:00 1:00 D
Rule US 1975 only - Feb 23 2:00 1:00 D
Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
Rule US 1987 max - Apr Sun>=1 2:00 1:00 D

As you can see, the specific rule for starting DST changed a few times;
EST5EDT uses the same rule for all years.

Original Question
----------------------
When installing Solaris 2.6 I select US Eastern as my timezone. It sets
TZ=US/Eastern in /etc/default/init. However, if you truss a process that
makes a time call you will see :

time() = 927117639
open("/usr/share/lib/zoneinfo/US/Eastern", O_RDONLY) = 3
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0".., 8192) = 1250
close(3) = 0
03/09/93 19930310
write(1, " 0 3 / 0 9 / 9 3 1 9 9".., 20) = 20

if you set TZ=EST5EDT
a truss of the same process shows that there is no open, read or close:

time() = 927117589
03/09/93 19930310
write(1, " 0 3 / 0 9 / 9 3 1 9 9".., 20) = 20

So a program running with TZ=EST5EDT runs much faster. Has anyone
else noticed this and does anyone know why Sun would default to the
slower TZ.

Thanks
Jacqueline Rosinsky
Renaissance Technologies
516-444-7041



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:13:20 CDT