mirror of
https://frontier.innolan.net/rainlance/amiga-tz.git
synced 2025-11-22 06:18:12 +00:00
217 lines
4.6 KiB
Groff
217 lines
4.6 KiB
Groff
.TH NEWCTIME 3
|
|
.SH NAME
|
|
ctime, localtime, gmtime, asctime, tzset, tzsetwall, difftime \- convert date and time to ASCII
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B extern char *tzname[2];
|
|
.PP
|
|
.B void tzset()
|
|
.PP
|
|
.B void tzsetwall()
|
|
.PP
|
|
.B char *ctime(clock)
|
|
.B long *clock;
|
|
.PP
|
|
.B #include <time.h>
|
|
.PP
|
|
.B char *asctime(tm)
|
|
.B struct tm *tm;
|
|
.PP
|
|
.B struct tm *localtime(clock)
|
|
.B long *clock;
|
|
.PP
|
|
.B struct tm *gmtime(clock)
|
|
.B long *clock;
|
|
.PP
|
|
.B double difftime(time1, time0)
|
|
.B time_t time1;
|
|
.B time_t time0;
|
|
.if !\nX \{\
|
|
.PP
|
|
cc ... -lz
|
|
.fi
|
|
\}
|
|
.SH DESCRIPTION
|
|
.I Tzset
|
|
uses the value of the environment variable
|
|
.B TZ
|
|
to set time conversion information used by
|
|
.IR localtime .
|
|
.if \nX \{\
|
|
IF
|
|
.B TZ
|
|
is absent from the environment,
|
|
the behavior is implementation defined.
|
|
If
|
|
.B TZ
|
|
does appear in the environment,
|
|
.I localtime
|
|
will only work correctly if
|
|
its value is one of an
|
|
implementation-defined set of values.
|
|
\}
|
|
.if !\nX \{\
|
|
If
|
|
.B TZ
|
|
does not appear in the environment,
|
|
the best available approximation to local wall clock time is used by
|
|
.IR localtime .
|
|
If
|
|
.B TZ
|
|
appears in the environment but its value is a null string,
|
|
Greenwich Mean Time is used (without leap second correction);
|
|
if
|
|
.B TZ
|
|
appears and
|
|
begins with a slash,
|
|
it is used as the absolute pathname of the
|
|
.IR tzfile (5)-format
|
|
file from which to read the time conversion information;
|
|
if
|
|
.B TZ
|
|
appears and
|
|
begins with a character other than a slash,
|
|
it's used as a pathname relative to a system time conversion information
|
|
directory.
|
|
\}
|
|
.PP
|
|
.I Tzsetwall
|
|
sets things up so that
|
|
.I localtime
|
|
returns the best available approximation of local wall clock time.
|
|
.PP
|
|
.I Ctime\^
|
|
converts a long integer, pointed to by
|
|
.IR clock ,
|
|
representing the time in seconds since
|
|
00:00:00 GMT, January 1, 1970,
|
|
and returns a pointer to a
|
|
26-character string
|
|
of the form
|
|
.br
|
|
.ce
|
|
Thu Nov 24 18:22:48 1986\\n\\0
|
|
.br
|
|
All the fields have constant width.
|
|
.PP
|
|
.IR Localtime\^
|
|
and
|
|
.I gmtime\^
|
|
return pointers to ``tm'' structures, described below.
|
|
.I Localtime\^
|
|
corrects for the time zone and any time zone adjustments
|
|
(such as Daylight Saving Time in the U.S.A.).
|
|
.if \nX Whether, before doing so,
|
|
.if !\nX Before doing so,
|
|
.I localtime\^
|
|
calls
|
|
.I tzset\^
|
|
(if
|
|
.I tzset\^
|
|
has not been called in
|
|
.if \nX the current process) is implementation defined.
|
|
.if !\nX the current process).
|
|
.if !\nX \{\
|
|
After filling in the ``tm'' structure,
|
|
.I localtime
|
|
sets the
|
|
.BR tm_isdst 'th
|
|
element of
|
|
.B tzname
|
|
to a pointer to an
|
|
ASCII string that's the time zone abbreviation to be used with
|
|
.IR localtime 's
|
|
return value.
|
|
\}
|
|
.PP
|
|
.I Gmtime\^
|
|
converts to Greenwich Mean Time (GMT).
|
|
.PP
|
|
.I Asctime\^
|
|
converts a time value contained in a
|
|
``tm'' structure to a 26-character string,
|
|
as shown in the above example,
|
|
and returns a pointer
|
|
to the string.
|
|
.PP
|
|
.I Difftime\^
|
|
returns the difference between two calendar times,
|
|
.I time1
|
|
-
|
|
.IR time0,
|
|
expressed in seconds.
|
|
.PP
|
|
Declarations of all the functions and externals, and the ``tm'' structure,
|
|
are in the
|
|
.B <time.h>\^
|
|
header file.
|
|
The structure (of type)
|
|
.B struct tm
|
|
includes the following fields:
|
|
.RS
|
|
.PP
|
|
.nf
|
|
.ta .5i +\w'long tm_gmtoff;\0\0'u
|
|
int tm_sec; /\(** seconds (0 - 60) \(**/
|
|
int tm_min; /\(** minutes (0 - 59) \(**/
|
|
int tm_hour; /\(** hours (0 - 23) \(**/
|
|
int tm_mday; /\(** day of month (1 - 31) \(**/
|
|
int tm_mon; /\(** month of year (0 - 11) \(**/
|
|
int tm_year; /\(** year \- 1900 \(**/
|
|
int tm_wday; /\(** day of week (Sunday = 0) \(**/
|
|
int tm_yday; /\(** day of year (0 - 365) \(**/
|
|
int tm_isdst; /\(** is DST in effect? \(**/
|
|
char \(**tm_zone; /\(** abbreviation of timezone name \(**/
|
|
long tm_gmtoff; /\(** offset from GMT in seconds \(**/
|
|
.fi
|
|
.RE
|
|
.PP
|
|
The
|
|
.I tm_zone
|
|
and
|
|
.I tm_gmtoff
|
|
fields exist, and are filled in, only if arrangements to do
|
|
so were made when the library containing these functions was
|
|
created.
|
|
There is no guarantee that these fields will continue to exist
|
|
in this form in future releases of this code.
|
|
.PP
|
|
.I Tm_isdst\^
|
|
is non-zero if a
|
|
time zone adjustment such as Daylight Saving Time
|
|
is in effect.
|
|
.PP
|
|
.I Tm_gmtoff
|
|
is the offset (in seconds) of the time represented
|
|
from GMT, with positive values indicating East
|
|
of Greenwich.
|
|
.if !\nX \{\
|
|
.SH FILES
|
|
.ta \w'/etc/zoneinfo/localtime\0\0'u
|
|
/etc/zoneinfo time zone information directory
|
|
.br
|
|
/etc/zoneinfo/localtime local time zone file
|
|
.br
|
|
/etc/zoneinfo/posixrules used in converting POSIX-style TZ's
|
|
.br
|
|
/etc/zoneinfo/GMT GMT file (needed for leap seconds)
|
|
\}
|
|
.SH SEE ALSO
|
|
.if !\nX tzfile(5),
|
|
getenv(3),
|
|
time(2)
|
|
.SH NOTE
|
|
The return values point to static data
|
|
whose content is overwritten by each call.
|
|
The
|
|
.B tm_zone
|
|
field of a returned
|
|
.B "struct tm"
|
|
points to a static array of characters, which
|
|
will also be overwritten at the next call
|
|
(and by calls to
|
|
.I tzset
|
|
or
|
|
.IR tzsetwall ).
|
|
.. %W%
|