TZ(5)

NAME
TZ - Time zone environment variable

SYNOPSIS
TZ=zone[-]offset[dst[offset][,start[/time],end[/time]]]

DESCRIPTION
The TZ environment variable tells functions such as the ctime(3) family and programs like date what the time zone and daylight saving rule is. The value of TZ has the POSIX standardized form shown in the synopsis. This form specifies the zone names, offsets from GMT, and daylight savings changeover times for at least the current year.

zone
    A three or more letter name for the time zone in normal (winter) time.

[-]offset
    A signed time telling the offset of the time zone westwards from Greenwich. The time has the form hh[:mm[:ss]] with a one of two digit hour, and optional two digit minutes and seconds.

dst The name of the time zone when daylight savings is in effect. It may be followed by an offset telling how big the clock correction is other than the default of 1 hour.

start/time,end/time
    Specifies the start and end of the daylight savings period. The start and end fields indicate on what day the changeover occurs. They must be in one of the following formats:
    Jn    The Julian day
    n (1 <= n <= 365) ignoring leap days, i.e. there is no February 29.
    n    The zero-based Julian day
    (0 <= n <= 365). Leap days are not ignored.
    Mm.n.d
    This indicates month m, the n-th occurrence of day d (1 <= m <= 12, 1 <= n <= 5, 0 <= d <= 6, 0=Sunday). The 5-th occurrence means the last occurrence of that day in a month. So M4.1.0 is the first Sunday in April, M9.5.0 is the last Sunday in September.
    The time field indicates the time the changeover occurs on the given day.

EXAMPLES
Greenwich Mean Time:

    TZ=GMT0

Middle European Time, 1 hour east from Greenwich, daylight savings starts on the last Sunday in March at 2 AM and ends on the last Sunday in September at 3 AM:

    TZ='MET-1MET DST,M3.5.0/2,M9.5.0/3'

U.S. Eastern Standard Time, 5 hours west from Greenwich, daylight savings starts on the first Sunday in April at 2 AM and ends on the last Sunday in October at 2 AM:

    TZ=EST5EDT,M4.1.0/2,M10.5.0/2

British time, daylight savings starts on the last Sunday in March at 1 AM, and should end on a Sunday on or after the 23rd of October at 2 AM. The last changeover can't be expressed properly by a standard string, so one will have to use a new rule for each year. Luckily 1995 is the last year a special rule is needed, because in 1996 all of the EU will use the same rules. So here are two rules, one for 1995, and one for 1996 and later years:

    TZ=GMT0BST,M3.5.0/1,301/2
    TZ=GMT0BST,M3.5.0/1,M10.5.0/2

It shouldn't surprise you that daylight savings in New Zealand is observed in the months opposite from the previous examples. It starts on the first Sunday in October at 2 AM and ends on the third Sunday in March at 3 AM:

    TZ=NZST-12NZDT,M10.1.0/2,M3.3.0/3

SEE ALSO
readclock(8), date(1).

BUGS
You may have noticed that many fields are optional. Do no omit them, because the defaults are bogus. If you need daylight savings then fully specify the changeovers.

West is negative, east is positive, ask any sailor.

AUTHOR
Kees J. Bot (kjb@cs.vu.nl)