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

FreeBSD Manual Pages


home | help
TZSET(3)	       FreeBSD Library Functions Manual		      TZSET(3)

     tzset, tzsetwall -- initialize time conversion information

     Standard C	Library	(libc, -lc)

     #include <time.h>



     The tzset() function initializes time conversion information used by the
     library routine localtime(3).  The	environment variable TZ	specifies how
     this is done.

     If	TZ does	not appear in the environment, the best	available approxima-
     tion to local wall	clock time, as specified by the	tzfile(5)-format file
     /etc/localtime is used.

     If	TZ appears in the environment but its value is a null string, Coordi-
     nated Universal Time (UTC)	is used	(without leap second correction).

     If	TZ appears in the environment and its value begins with	a colon	(`:'),
     the rest of its value is used as a	pathname of a tzfile(5)-format file
     from which	to read	the time conversion information.  If the first charac-
     ter of the	pathname is a slash (`/') it is	used as	an absolute pathname;
     otherwise,	it is used as a	pathname relative to the system	time conver-
     sion information directory.

     If	its value does not begin with a	colon, it is first used	as the path-
     name of a file (as	described above) from which to read the	time conver-
     sion information.	If that	file cannot be read, the value is then inter-
     preted as a direct	specification (the format is described below) of the
     time conversion information.

     If	the TZ environment variable does not specify a tzfile(5)-format	file
     and cannot	be interpreted as a direct specification, UTC is used.

     The tzsetwall() function sets things up so	that localtime(3) returns the
     best available approximation of local wall	clock time.

     When TZ is	used directly as a specification of the	time conversion	infor-
     mation, it	must have the following	syntax (spaces inserted	for clarity):

	   std offset [dst [offset] [, rule]]


	   std and dst	Three or more bytes that are the designation for the
			standard (std) or summer (dst) time zone.  Only	std is
			required; if dst is missing, then summer time does not
			apply in this locale.  Upper and lowercase letters are
			explicitly allowed.  Any characters except a leading
			colon (`:'), digits, comma (`,'), minus	(`-'), plus
			(`+'), and ASCII NUL are allowed.

	   offset	Indicates the value one	must add to the	local time to
			arrive at Coordinated Universal	Time.  The offset has
			the form:


			The minutes (mm) and seconds (ss) are optional.	 The
			hour (hh) is required and may be a single digit.  The
			offset following std is	required.  If no offset	fol-
			lows dst, summer time is assumed to be one hour	ahead
			of standard time.  One or more digits may be used; the
			value is always	interpreted as a decimal number.  The
			hour must be between zero and 24, and the minutes (and
			seconds) -- if present -- between zero and 59.	If
			preceded by a (`-') the	time zone shall	be east	of the
			Prime Meridian;	otherwise it shall be west (which may
			be indicated by	an optional preceding (`+')).

	   rule		Indicates when to change to and	back from summer time.
			The rule has the form:


			where the first	date describes when the	change from
			standard to summer time	occurs and the second date
			describes when the change back happens.	 Each time
			field describes	when, in current local time, the
			change to the other time is made.

			The format of date is one of the following:

			J n	 The Julian day	n (1 <=	n <= 365).  Leap days
				 are not counted; that is, in all years	--
				 including leap	years -- February 28 is	day 59
				 and March 1 is	day 60.	 It is impossible to
				 explicitly refer to the occasional February

			n	 The zero-based	Julian day (0 <= n <= 365 ) .
				 Leap days are counted,	and it is possible to
				 refer to February 29.

			M m.n.d	 The d'th day (0 <= d <= 6) of week n of month
				 m of the year (1 <= n <= 5), (1 <= m <= 12),
				 where week 5 means ``the last d day in	month
				 m'' which may occur in	either the fourth or
				 the fifth week).  Week	1 is the first week in
				 which the d'th	day occurs.  Day zero is Sun-

				 The time has the same format as offset	except
				 that no leading sign (`-') or (`+') is
				 allowed.  The default,	if time	is not given,
				 is 02:00:00.

			If no rule is present in the TZ	specification, the
			rules specified	by the tzfile(5)-format	file
			posixrules in the system time conversion information
			directory are used, with the standard and summer time
			offsets	from UTC replaced by those specified by	the
			offset values in TZ.

     For compatibility with System V Release 3.1, a semicolon (`;') may	be
     used to separate the rule from the	rest of	the specification.

     /etc/localtime		     local time	zone file
     /usr/share/zoneinfo	     time zone directory
     /usr/share/zoneinfo/posixrules  rules for POSIX-style TZ's
     /usr/share/zoneinfo/GMT	     for UTC leap seconds

     If	the file /usr/share/zoneinfo/GMT does not exist, UTC leap seconds are
     loaded from /usr/share/zoneinfo/posixrules.

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

     The tzset() and tzsetwall() functions first appeared in 4.4BSD.

FreeBSD	11.1		       November	17, 1993		  FreeBSD 11.1


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

home | help