TZSET(3)            Linux Programmer's Manual            TZSET(3)

NAME
       tzset - initialize time conversion information

SYNOPSIS
       #include <time.h>

       void tzset (void);

       extern char *tzname[2]

DESCRIPTION
       The  tzset() function initializes the tzname variable from
       the TZ environment variable.  This function  is  automati-
       cally  called  by the other time conversion functions that
       depend on the time zone.

       If the TZ variable does not appear in the environment, the
       tzname variable is initialized with the best approximation
       of  local  wall  clock   time,   as   specified   by   the
       tzfile(5)-format file /etc/localtime.

       If  the TZ variable does appear in the environment but its
       value is NULL or its value cannot be interpreted using any
       of the formats specified below, Coordinated Universal Time
       (UTC) is used.

       The value of TZ can be one of three  formats.   The  first
       format  is  used  when there is no daylight saving time in
       the local time zone:

              std offset

       The std string specifies the name of  the  time  zone  and
       must  be  three or more alphabetic characters.  The offset
       string immediately follows  std  and  specifies  the  time
       value  to  be  added  to the local time to get Coordinated
       Universal Time (UTC).  The offset is positive if the local
       time zone is west of the Prime Meridian and negative if it
       is east.  The hour must be between 0 and 24, and the  min-
       utes and seconds 0 and 59.

       The  second  format  is used when there is daylight saving
       time:

              std offset dst [offset],start[/time],end[/time]

       There are no spaces in the specification.  The initial std
       and  offset  specify  the standard time zone, as described
       above.  The dst string and offset  specify  the  name  and
       offset  for  the corresponding daylight savings time zone.
       If the offset is omitted, it defaults  to one  hour  ahead
       of standard time.

       The  start field specifies when daylight savings time goes
       into effect and the end field specifies when the change is
       made  back  to  standard  time.  These fields may have the
       following formats:

       Jn     This specifies the Julian day with n between 1  and
              365.   February  29  is  never counted even in leap
              years.

       n      This specifies the Julian day with n between 1  and
              365.  February 29 is counted in leap years.

       Mm.w.d This  specifies day d (0 <= d <= 6) of week w (1 <=
              w <= 5) of month m (1 <= m <= 12).  Week 1  is  the
              first  week in which day d occurs and week 5 is the
              last week in which day d occurs.  Day 0 is  a  Sun-
              day.

       The  time fields specify when, in the local time currently
       in effect, the change to the other time occurs.  If  omit-
       ted, the default is 02:00:00.

       The  third format specifies that the time zone information
       should be read from a file:

              :[filespec]

       If the file specification filespec is  omitted,  the  time
       zone  information is read from /usr/lib/zoneinfo/localtime
       which is in tzfile(5) format.  If filespec  is  given,  it
       specifies  another  tzfile(5)-format file to read the time
       zone information from.  If filespec does not begin with  a
       `/', the file specification is relative to the system time
       conversion information directory /usr/lib/zoneinfo.

FILES
       /usr/lib/zoneinfo                system time zone directory
       /usr/lib/zoneinfo/localtime      local time zone file
       /usr/lib/zoneinfo/posixrules     rules for POSIX-style TZ's

CONFORMING TO
       SVID 3, POSIX, BSD 4.3

SEE ALSO
       date(1), gettimeofday(2),  time(2),  ctime(3),  getenv(3),
       tzfile(5)

BSD                        July 2, 1993                         1