.\" 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
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 ().
.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/.