Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
TZSET(3)		   Linux Programmer's Manual		      TZSET(3)

       tzset, tzname, timezone,	daylight - initialize time conversion informa-

       #include	<time.h>

       void tzset (void);

       extern char *tzname[2];
       extern long timezone;
       extern int daylight;

       The tzset() function initializes	the tzname variable from the TZ	 envi-
       ronment	variable.   This function is automatically called by the other
       time conversion functions that depend on	the time zone.	In a SysV-like
       environment  it	will  also set the variables timezone (seconds West of
       GMT) and	daylight (0 if this time zone does not have any	daylight  sav-
       ings  time  rules, nonzero if there is a	time during the	year when day-
       light savings time applies).

       If the TZ variable does not appear in the environment, the tzname vari-
       able  is	 initialized  with  the	best approximation of local wall clock
       time, as	specified by the tzfile(5)-format file localtime found in  the
       system  timezone	 directory (see	below).	 (One also often sees /etc/lo-
       caltime used here, a symlink to the right file in the  system  timezone

       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 Coor-
       dinated 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 minutes 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 sav-
       ings 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.	Febru-
	      ary 29 is	never counted even in leap years.

       n      This specifies the Julian	day with n between 1 and 365.	Febru-
	      ary 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 Sunday.

       The time	fields specify when, in	the local time	currently  in  effect,
       the  change  to	the  other  time  occurs.   If omitted,	the default is

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


       If  the	file specification filespec is omitted,	the time zone informa-
       tion is read from the file localtime in the system timezone  directory,
       which  nowadays	usually	 is  /usr/share/zoneinfo.  This	file is	in tz-
       file(5) format.	 If  filespec  is  given,  it  specifies  another  tz-
       file(5)-format  file  to	read the time zone information from.  If file-
       spec does not begin with	a `/', the file	specification is  relative  to
       the system timezone directory.

       The  system  time  zone	directory used depends on the (g)libc version.
       Libc4 and libc5 use /usr/lib/zoneinfo, and, since libc-5.4.6, when this
       doesn't	work, will try /usr/share/zoneinfo.  Glibc2 will use the envi-
       ronment variable	TZDIR, when that exists.  Its default depends  on  how
       it was installed, but normally is /usr/share/zoneinfo.

       This timezone directory contains	the files
       localtime      local time zone file
       posixrules     rules for	POSIX-style TZ's

       Often  /etc/localtime is	a symlink to the file localtime	or to the cor-
       rect time zone file in the system time zone directory.

       SVID 3, POSIX, BSD 4.3

       Note that the variable daylight does not	indicate that daylight savings
       time  applies  right  now. It used to give the number of	some algorithm
       (see the	variable tz_dsttime in gettimeofday(2)).  It has been obsolete
       for many	years but is required by SUSv2.

       BSD4.3 had a routine char *timezone(zone,dst) that returned the name of
       the time	zone corresponding to its  first  argument  (minutes  West  of
       GMT).  If the second argument was 0, the	standard name was used,	other-
       wise the	daylight savings time version.

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

				  2001-11-13			      TZSET(3)


Want to link to this manual page? Use this URL:

home | help