238 lines
5.2 KiB
Groff
238 lines
5.2 KiB
Groff
|
.TH NEWTZSET 3
|
||
|
.SH NAME
|
||
|
tzset \- initialize time conversion information
|
||
|
.SH SYNOPSIS
|
||
|
.nf
|
||
|
.B void tzset()
|
||
|
.PP
|
||
|
.B cc ... -ltz
|
||
|
.fi
|
||
|
.SH DESCRIPTION
|
||
|
.I Tzset
|
||
|
uses the value of the environment variable
|
||
|
.B TZ
|
||
|
to set time conversion information used by
|
||
|
.IR localtime .
|
||
|
If
|
||
|
.B TZ
|
||
|
does not appear in the environment,
|
||
|
the best available approximation to local wall clock time, as specified
|
||
|
by the
|
||
|
.IR tzfile (5)-format
|
||
|
file
|
||
|
.B localtime
|
||
|
in the system time conversion information directory, is used by
|
||
|
.IR localtime .
|
||
|
If
|
||
|
.B TZ
|
||
|
appears in the environment but its value is a null string,
|
||
|
Coordinated Universal Time (UTC) is used (without leap second
|
||
|
correction). If
|
||
|
.B TZ
|
||
|
appears in the environment and its value is not a null string:
|
||
|
.IP
|
||
|
if the value begins with a colon, it is used as a pathname of a file
|
||
|
from which to read the time conversion information;
|
||
|
.IP
|
||
|
if the value does not begin with a colon, it is first used as the
|
||
|
pathname of a file from which to read the time conversion information,
|
||
|
and, if that file cannot be read, is used directly as a specification of
|
||
|
the time conversion information.
|
||
|
.PP
|
||
|
When
|
||
|
.B TZ
|
||
|
is used as a pathname, if it begins with a slash,
|
||
|
it is used as an absolute pathname; otherwise,
|
||
|
it is used as a pathname relative to a system time conversion information
|
||
|
directory.
|
||
|
The file must be in the format specified in
|
||
|
.IR tzfile (5).
|
||
|
.PP
|
||
|
When
|
||
|
.B TZ
|
||
|
is used directly as a specification of the time conversion information,
|
||
|
it must have the following syntax (spaces inserted for clarity):
|
||
|
.IP
|
||
|
\fIstd\|offset\fR[\fIdst\fR[\fIoffset\fR][\fB,\fIrule\fR]]
|
||
|
.PP
|
||
|
Where:
|
||
|
.RS
|
||
|
.TP 15
|
||
|
.IR std " and " dst
|
||
|
Three or more bytes that are the designation for the standard
|
||
|
.RI ( std )
|
||
|
or summer
|
||
|
.RI ( dst )
|
||
|
time zone. Only
|
||
|
.I std
|
||
|
is required; if
|
||
|
.I 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
|
||
|
.RB ( : ),
|
||
|
digits, comma
|
||
|
.RB ( , ),
|
||
|
minus
|
||
|
.RB ( \(mi ),
|
||
|
plus
|
||
|
.RB ( \(pl ),
|
||
|
and ASCII NUL are allowed.
|
||
|
.TP
|
||
|
.I offset
|
||
|
Indicates the value one must add to the local time to arrive at
|
||
|
Coordinated Universal Time. The
|
||
|
.I offset
|
||
|
has the form:
|
||
|
.RS
|
||
|
.IP
|
||
|
\fIhh\fR[\fB:\fImm\fR[\fB:\fIss\fR]]
|
||
|
.RE
|
||
|
.IP
|
||
|
The minutes
|
||
|
.RI ( mm )
|
||
|
and seconds
|
||
|
.RI ( ss )
|
||
|
are optional. The hour
|
||
|
.RI ( hh )
|
||
|
is required and may be a single digit. The
|
||
|
.I offset
|
||
|
following
|
||
|
.I std
|
||
|
is required. If no
|
||
|
.I offset
|
||
|
follows
|
||
|
.IR 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) \(em if present \(em between zero and 59. If preceded by a
|
||
|
.RB `` \(mi '',
|
||
|
the time zone shall be east of the Prime Meridian; otherwise it shall be
|
||
|
west (which may be indicated by an optional preceding
|
||
|
.RB `` \(pl '').
|
||
|
.TP
|
||
|
.I rule
|
||
|
Indicates when to change to and back from summer time. The
|
||
|
.I rule
|
||
|
has the form:
|
||
|
.RS
|
||
|
.IP
|
||
|
\fIdate\fB/\fItime\fB,\fIdate\fB/\fItime\fR
|
||
|
.RE
|
||
|
.IP
|
||
|
where the first
|
||
|
.I date
|
||
|
describes when the change from standard to summer time occurs and the
|
||
|
second
|
||
|
.I date
|
||
|
describes when the change back happens. Each
|
||
|
.I time
|
||
|
field describes when, in current local time, the change to the other
|
||
|
time is made.
|
||
|
.IP
|
||
|
The format of
|
||
|
.I date
|
||
|
is one of the following:
|
||
|
.RS
|
||
|
.TP 10
|
||
|
.BI J n
|
||
|
The Julian day
|
||
|
.I n
|
||
|
.RI "(1\ \(<=" "\ n\ " "\(<=\ 365).
|
||
|
Leap days are not counted; that is, in all years \(em including leap
|
||
|
years \(em February 28 is day 59 and March 1 is day 60. It is
|
||
|
impossible to explicitly refer to the occasional February 29.
|
||
|
.TP
|
||
|
.I n
|
||
|
The zero-based Julian day
|
||
|
.RI "(0\ \(<=" "\ n\ " "\(<=\ 365).
|
||
|
Leap days are counted, and it is possible to refer to February 29.
|
||
|
.TP
|
||
|
.BI M m . n . d
|
||
|
The
|
||
|
.IR d' th
|
||
|
day
|
||
|
.RI "(0\ \(<=" "\ d\ " "\(<=\ 6)
|
||
|
of week
|
||
|
.I n
|
||
|
of month
|
||
|
.I m
|
||
|
of the year
|
||
|
.RI "(1\ \(<=" "\ n\ " "\(<=\ 5,
|
||
|
.RI "1\ \(<=" "\ m\ " "\(<=\ 12,
|
||
|
where week 5 means ``the last
|
||
|
.I d
|
||
|
day in month
|
||
|
.IR m ''
|
||
|
which may occur in either the fourth or the fifth week). Week 1 is the
|
||
|
first week in which the
|
||
|
.IR d' th
|
||
|
day occurs. Day zero is Sunday.
|
||
|
.RE
|
||
|
.IP "" 15
|
||
|
The
|
||
|
.I time
|
||
|
has the same format as
|
||
|
.I offset
|
||
|
except that no leading sign
|
||
|
.RB (`` \(mi ''
|
||
|
or
|
||
|
.RB `` \(pl '')
|
||
|
is allowed. The default, if
|
||
|
.I time
|
||
|
is not given, is
|
||
|
.BR 02:00:00 .
|
||
|
.RE
|
||
|
.LP
|
||
|
If no
|
||
|
.I rule
|
||
|
is present in
|
||
|
.BR TZ ,
|
||
|
the rules specified
|
||
|
by the
|
||
|
.IR tzfile (5)-format
|
||
|
file
|
||
|
.B 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
|
||
|
.I offset
|
||
|
values in
|
||
|
.BR TZ .
|
||
|
.PP
|
||
|
For compatibility with System V Release 3.1, a semicolon
|
||
|
.RB ( ; )
|
||
|
may be used to separate the
|
||
|
.I rule
|
||
|
from the rest of the specification.
|
||
|
.PP
|
||
|
If the
|
||
|
.B TZ
|
||
|
environment variable does not specify a
|
||
|
.IR tzfile (5)-format
|
||
|
and cannot be interpreted as a direct specification,
|
||
|
UTC is used.
|
||
|
.SH FILES
|
||
|
.ta \w'/usr/share/zoneinfo/posixrules\0\0'u
|
||
|
/usr/share/zoneinfo time zone information directory
|
||
|
.br
|
||
|
/usr/share/zoneinfo/localtime local time zone file
|
||
|
.br
|
||
|
/usr/share/zoneinfo/posixrules used with POSIX-style TZ's
|
||
|
.br
|
||
|
/usr/share/zoneinfo/GMT for UTC leap seconds
|
||
|
.sp
|
||
|
If
|
||
|
.B /usr/share/zoneinfo/GMT
|
||
|
is absent,
|
||
|
UTC leap seconds are loaded from
|
||
|
.BR /usr/share/zoneinfo/posixrules .
|
||
|
.SH SEE ALSO
|
||
|
getenv(3),
|
||
|
newctime(3),
|
||
|
newstrftime(3),
|
||
|
time(2),
|
||
|
tzfile(5)
|
||
|
.\" @(#)newtzset.3 7.5
|