Universal/UNIX Time Code (UTC) and Time Zones In UNIX all times/dates are based on a universal/UNIX time code (UTC) where 0 = Jan 1, 1970 12:00:00am GMT (midnight) and -1 = Dec 31, 1969 11:59:59pm GMT (one second before midnight) and 1 = Jan 1, 1970 12:00:01am GMT (one second after midnight) As time progresses, the seconds just tick away and the timezone plays no role at all. The UTC value represents the number of seconds before or after midnight January 1, 1970 in GMT. The time code never gets adjusted for daylight savings. Whenever the time/date is to be displayed, it is converted to a text string based on the current time zone setting, determined by the UNIX environment variable "TZ". It is only when timestamps are recorded as text that things start getting hairy: If the timezone is not included in the text, then forget trying to convert back to UTC at a later time. Or when HTTP expiration headers are stored in localtime on the client (YES, I'm talking about the Netscape browsers). If they would just store the stupid value in GMT, the comparison would be much more straight forward.