
Date: Mon, 14 Feb 2005 09:18:10 -0500 From: "Olson, Arthur David (NIH/NCI)" <olsona@dc37a.nci.nih.gov> Message-ID: <75DDD376F2B6B546B722398AC161106C740377@nihexchange2.nih.gov> To expand a little on Paul Eggert's response... | I am not sure I can explain the +/- GMT question, someone from the Olson tz | database team is probably better in that. There is no absolute right or wrong here, there are two different times, local time (wherever) and UTC (GMT). To reference the difference between local time and UTC we subtract one from the other. Which one is subtracted from makes no real difference to anything. Given there are two ways to do a thing, and which way it is done makes no real difference to anything, different people, naturally, choose different ways.
From 30 years ago (or more), unix picked UTC-local as the way to get the offset. If you do it that way, in the Eastern part of the US, during winter, you get a +5 hour difference.
The International time standards (notational standards) picked the other way (whether that's from before or after unix picked its way I have no idea) - they use local-UTC. The Eastern time zone in the US is then -5 hours from UTC. Most things these days use international time notation, or something loosely based upon it (so the time zone in the Date field of this message should be +0700 if nothing alters it - I'm currently 7 hours ahead of UTC). But the time zone in the system I'm running is set at -420 (420 minutes different from UTC, with UTC behind local time). That's because it is a unix system, which does things the other way. The Olson tz database was developed for unix systems, the names it gives to zones when represented externally, are generally the unix version of the time - on a unix system to set US EST, you'd set GMT+5, which would then cause an e-mail program to put -0500 in the e-mail headers! For any of this to make sense, you simply must know the convention used. If times are being displayed in some non-OS specific context, I would certainly not be showing anyone the unix (now posix) specified format, that should be confined to where it is needed. Display timezones always in the international format (if you don't have a suitable time zone name to display, get the numeric value, and display it yourself, don't use the timezone name from the olson database). kre