diff options
Diffstat (limited to 'man3type/tm.3type')
-rw-r--r-- | man3type/tm.3type | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/man3type/tm.3type b/man3type/tm.3type new file mode 100644 index 0000000..42cd1e3 --- /dev/null +++ b/man3type/tm.3type @@ -0,0 +1,112 @@ +.\" Copyright (c) 2022 by Alejandro Colomar <alx@kernel.org> +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.\" +.TH tm 3type 2023-03-30 "Linux man-pages 6.05.01" +.SH NAME +tm \- broken-down time +.SH LIBRARY +Standard C library +.RI ( libc ) +.SH SYNOPSIS +.EX +.B #include <time.h> +.PP +.B struct tm { +.BR " int tm_sec;" " /* Seconds [" 0 ", " 60 "] */" +.BR " int tm_min;" " /* Minutes [" 0 ", " 59 "] */" +.BR " int tm_hour;" " /* Hour [" 0 ", " 23 "] */" +.BR " int tm_mday;" " /* Day of the month [" 1 ", " 31 "] */" +.BR " int tm_mon;" \ +" /* Month [" 0 ", " 11 "] (January = " 0 ") */" +.BR " int tm_year;" " /* Year minus " 1900 " */" +.BR " int tm_wday;" \ +" /* Day of the week [" 0 ", " 6 "] (Sunday = " 0 ") */" +.BR " int tm_yday;" \ +" /* Day of the year [" 0 ", " 365 "] (Jan/01 = " 0 ") */" +.BR " int tm_isdst;" " /* Daylight savings flag */" +.PP +.BR " long tm_gmtoff;" " /* Seconds East of UTC */" +.BR " const char *tm_zone;" " /* Timezone abbreviation */" +.B }; +.EE +.PP +.RS -4 +Feature Test Macro Requirements for glibc (see +.BR feature_test_macros (7)): +.RE +.PP +.IR tm_gmtoff , +.IR tm_zone : +.nf +.\" Guarded with __USE_MISC: + Since glibc 2.20: + _DEFAULT_SOURCE + glibc 2.20 and earlier: + _BSD_SOURCE +.fi +.SH DESCRIPTION +Describes time, broken down into distinct components. +.PP +.I tm_isdst +describes whether daylight saving time is in effect at the time described. +The value is positive if daylight saving time is in effect, +zero if it is not, +and negative if the information is not available. +.PP +.I tm_gmtoff +is the difference, in seconds, +of the timezone represented by this broken-down time and UTC +(this is the additive inverse of +.BR timezone (3)). +.PP +.I tm_zone +is the equivalent of +.BR tzname (3) +for the timezone represented by this broken-down time. +.SH VERSIONS +In C90, +.I tm_sec +could represent values in the range +.RB [ 0 ", " 61 ], +which could represent a double leap second. +UTC doesn't permit double leap seconds, +so it was limited to +.B 60 +in C99. +.PP +.BR timezone (3), +as a variable, is an XSI extension: some systems provide the V7-compatible +.\" FreeBSD +.BR timezone (3) +function. +The +.I tm_gmtoff +field provides an alternative (with the opposite sign) for those systems. +.PP +.I tm_zone +points to static storage and may be overridden on subsequent calls to +.BR localtime (3) +and similar functions (however, this never happens under glibc). +.SH STANDARDS +C11, POSIX.1-2008. +.SH HISTORY +C89, POSIX.1-2001. +.PP +.I tm_gmtoff +and +.I tm_zone +originate from 4.3BSD-Tahoe (where +.I tm_zone +is a +.IR "char *" ). +.SH NOTES +.I tm_sec +can represent a leap second with the value +.BR 60 . +.SH SEE ALSO +.BR ctime (3), +.BR strftime (3), +.BR strptime (3), +.BR time (7) |