.\" 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 2014-08-19 "" "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
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
+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
.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 (),
and
.BR localtime ()
return a pointer to static data and hence are not thread-safe.
-Thread-safe versions
+The thread-safe versions,
.BR asctime_r (),
.BR ctime_r (),
.BR gmtime_r ()
and
-.BR localtime_r ()
-are specified by SUSv2, and available since libc 5.2.5.
+.BR localtime_r (),
+are specified by SUSv2.
POSIX.1-2001 says:
"The
.BR localtime_r ()
does not have this requirement.
.\" See http://thread.gmane.org/gmane.comp.time.tz/2034/
-For portable code
+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.79 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/.