.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
.\"
.\" References consulted:
.\" Linux libc source code
.\" Modified 2001-12-13, joey, aeb
.\" Modified 2004-11-16, mtk
.\"
-.TH CTIME 3 2010-02-25 "" "Linux Programmer's Manual"
+.TH CTIME 3 2013-12-30 "" "Linux Programmer's Manual"
.SH NAME
asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r,
localtime_r \- transform date and time to broken-down time or ASCII
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.in
+.ad l
.sp
.BR asctime_r (),
.BR ctime_r (),
.BR gmtime_r (),
.BR localtime_r ():
-.br
+.RS
_POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _BSD_SOURCE ||
_SVID_SOURCE || _POSIX_SOURCE
+.RE
+.ad
.SH DESCRIPTION
The
.BR ctime (),
and
.BR localtime ()
functions all take
-an argument of data type \fItime_t\fP which represents calendar time.
+an argument of data type \fItime_t\fP, which represents calendar time.
When interpreted as an absolute time value, it represents the number of
seconds elapsed since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
.PP
and
.BR mktime ()
functions both take an argument
-representing broken-down time which is a representation
-separated into year, month, day, etc.
+representing broken-down time, which is a representation
+separated into year, month, day, and so on.
.PP
Broken-down time is stored
-in the structure \fItm\fP which is defined in \fI<time.h>\fP as follows:
+in the structure \fItm\fP, which is defined in \fI<time.h>\fP as follows:
.sp
.in +4n
.nf
struct tm {
- int tm_sec; /* seconds */
- int tm_min; /* minutes */
- int tm_hour; /* hours */
- int tm_mday; /* day of the month */
- int tm_mon; /* month */
- int tm_year; /* year */
- int tm_wday; /* day of the week */
- int tm_yday; /* day in the year */
- int tm_isdst; /* daylight saving time */
+ int tm_sec; /* Seconds (0-60) */
+ int tm_min; /* Minutes (0-59) */
+ int tm_hour; /* Hours (0-23) */
+ int tm_mday; /* Day of the month (1-31) */
+ int tm_mon; /* Month (0-11) */
+ int tm_year; /* Year - 1900 */
+ int tm_wday; /* Day of the week (0-6, Sunday = 0) */
+ int tm_yday; /* Day in the year (0-365, 1 Jan = 0) */
+ int tm_isdst; /* Daylight saving time */
};
.fi
.in
The
.BR localtime ()
function converts the calendar time \fItimep\fP to
-broken-time representation, expressed relative to the user's specified
-timezone.
+broken-down time representation,
+expressed relative to the user's specified timezone.
The function acts as if it called
.BR tzset (3)
and sets the external variables \fItzname\fP with
If the specified broken-down
time cannot be represented as calendar time (seconds since the Epoch),
.BR mktime ()
-returns a value of
+returns
.I (time_t)\ \-1
and does not alter the
members of the broken-down time structure.
-.SH "RETURN VALUE"
+.SH RETURN VALUE
Each of these functions returns the value described, or NULL
(\-1 in case of
.BR mktime ())
in case an error was detected.
-.SH "CONFORMING TO"
+.SH CONFORMING TO
POSIX.1-2001.
C89 and C99 specify
.BR asctime (),
According to POSIX.1-2004,
.BR localtime ()
is required to behave as though
-.BR tzset ()
+.BR tzset (3)
was called, while
.BR localtime_r ()
does not have this requirement.
.\" See http://thread.gmane.org/gmane.comp.time.tz/2034/
-For portable code
-.BR tzset ()
+For portable code,
+.BR tzset (3)
should be called before
.BR localtime_r ().
-.SH "SEE ALSO"
+.SH SEE ALSO
.BR date (1),
.BR gettimeofday (2),
.BR time (2),
.BR timegm (3),
.BR tzset (3),
.BR time (7)
+.SH COLOPHON
+This page is part of release 3.68 of the Linux
+.I man-pages
+project.
+A description of the project,
+information about reporting bugs,
+and the latest version of this page,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.