From: an...@hpcvra.cv.hp.com (Andrew Gryc)
Date: Wed, 6 Oct 1993 00:16:24 GMT
Subject: Adding TimeZones to 100LX W. Time
Message-ID: <65300312@hpcvra.cv.hp.com>
Organization: Hewlett-Packard Co., Corvallis, OR, USA
Path: gmd.de!newsserver.jvnc.net!howland.reston.ans.net!math.ohio-state.edu!
sdd.hp.com!hpscit.sc.hp.com!cupnews0.cup.hp.com!news1.boi.hp.com!hp-pcd!
hpcvra!andyg
Newsgroups: comp.sys.palmtops
Lines: 88

I believe I've posted this information somewhere else, but I couldn't
remember if I had or not.  
--Andy

Someone else's comments:   
>World Time.  I consider this a bug.  Edinburgh is my local city and like the
>rest of the UK does not follow European daylight savings.  When Europe changed
>recently (Sept 93) my 100LX prompted me to change the system time.  I said no
>and was surprised to find that cities such all cities still on daylight savings
>time were now+1 hour from where they should have been.  The answer was to set
>Edinburgh to always being on daylight savings time, and manually (or using
>appointment running macros) set it to no at the correct time.
>----------

My response:
It took me a while to understand what you were trying to say, but I think
the bug you're talking about is that the UK doesn't have the same DST
switch date as most of the rest of Europe.  This is true, and in fact, 
World Time approximates the UK (and several other European countries) to
switch at the same time as the rest of Europe.  World Time (as shipped)
only recognizes three time zones (European, Northern and Southern).

It was a management nightmare to track all the local and even regional
differences with regard to DST transitions, so this was a "educated guess"
approach.  I did leave in a back door to allow a sophisticated user to
add additional Time Zones.

The file D:\_SYS\TIMEZONE.DAT (on the ROM disk) has a simple ASCII file 
that contains the names of the transitions, and when they occur.
It looks like this:
_______________________________________________
European
3:25-31 6 1:00
9:24-30 6 0:00
Northern
4:1-7    6 1:00
10:25-31 6 0:00
Southern
3:1-7    6 0:00
10:25-31 6 1:00
_______________________________________________

You can, however, provide a replacement for this file--place it in
C:\_DAT\TIMEZONE.DAT, and World Time will use it instead of the ROM file.
It is easiest to copy the file from D:\_SYS to C:\_DAT and edit it with
Memo.

As far as reading the format: let's disect the European entry.
        European          =    A
        3:25-31 6 1:00    =    B:C-D E F
        9:24-30 6 0:00    =    G:H-I J K
That is, A=European, B=3, C=25, D=31, E=6, F=1:00, G=9, H=24, I=30, J=6, K=0:00

The TimeZone name is European,       The TimeZone name is A
On the last Sunday of March,         In month B, day of the week E from C to D
   the clock is advanced an hour,      the clock is adjusted by F
On the last Sunday of September,     In month G, day of the week J from H to I
   the clock is restored to normal.    the clock is adjusted by K

The day of the week is 0=Mon,1=Tue,2=Wed,3=Thu,4=Fri,5=Sat,6=Sun.

Let's say that the UK makes the transition to DST on the second Monday in
April and the last Sunday in September (fictional example!--I don't know
what it really is).  The new entry (just add it below the existing ones) 
for this would be:

United Kingdom
3:8-15 0 1:00
9:24-30 6 0:00

Note that 1) the first letter of each time zone must be unique, and 2)
Only 26 Time zones are allowed.  That is, you have one TimeZone for each
letter of the alphabet.

Unfortunately, you will need to change the TimeZone of the appropriate
cities to reflect the correct time zone.  In your case, you need to
change each of the English cities to have "United Kingdom" as the TimeZone
for this to work properly.

I realize that this is not a general user solution, and that as far as
your comment goes, this is still a bug in the 100LX (since your typical user
will not make the effort required to fix the situation).  I did want
you to know that it can be fixed.  Hope this is of some help.

---------------------------------------------------------------------------
Andrew J. Gryc     | Although I can think of about a million things that
Hewlett-Packard    | I *could* put here, I prefer to keep it simple, and
Corvallis, OR  USA | not implicate myself as some kind of moron.

Newsgroups: comp.sys.palmtops
Path: gmd.de!xlink.net!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!ucla-cs!
twinsun!eggert
From: egg...@twinsun.com (Paul Eggert)
Subject: Re: Adding TimeZones to 100LX W. Time
Message-ID: <CEI152.GAE@twinsun.com>
Sender: use...@twinsun.com
Nntp-Posting-Host: spot
Organization: Twin Sun Inc, El Segundo, CA, USA
References: <65300312@hpcvra.cv.hp.com>
Date: Wed, 6 Oct 1993 23:27:00 GMT
Lines: 13

an...@hpcvra.cv.hp.com (Andrew Gryc) writes:

>It was a management nightmare to track all the local and even regional
>differences with regard to DST transitions, so this was a "educated guess"
>approach.

Why not snarf Arthur David Olson's time zone database?  It's been used
for years on Unix boxes (e.g. it's shipped with SunOS and SVR4) and
it's in the public domain.  You can FTP the latest version from
elsie.nci.nih.gov in pub/tz*.  If you converted Olson's database to the
100LX format, it sounds like your users in Britain, Iceland, Poland,
Portugal, etc., would thank you.  Or better yet, perhaps you could
adopt Olson's code and save yourself the work of reformatting the database.