TIMEGM
Updated: 2015-03-02
Index Return to Main Contents
NAME
timegm, timelocal - inverses of gmtime and localtimeSYNOPSIS
#include <time.h> time_t timelocal(struct tm *tm); time_t timegm(struct tm *tm);Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
timelocal(), timegm(): _BSD_SOURCE || _SVID_SOURCE
DESCRIPTION
The functions timelocal() and timegm() are the inverses of localtime(3) and gmtime(3).ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).Interface | Attribute | Value |
timelocal(), timegm() | Thread safety | MT-Safe env locale |
CONFORMING TO
These functions are nonstandard GNU extensions that are also present on the BSDs. Avoid their use; see NOTES.NOTES
The timelocal() function is equivalent to the POSIX standard function mktime(3). There is no reason to ever use it.For a portable version of timegm(), set the TZ environment variable to UTC, call mktime(3) and restore the value of TZ. Something like
#include <time.h> #include <stdlib.h> time_t my_timegm(struct tm *tm) { time_t ret; char *tz; tz = getenv("TZ"); if (tz) tz = strdup(tz); setenv("TZ", "", 1); tzset(); ret = mktime(tm); if (tz) { setenv("TZ", tz, 1); free(tz); } else unsetenv("TZ"); tzset(); return ret; }
SEE ALSO
gmtime(3), localtime(3), mktime(3), tzset(3)COLOPHON
This page is part of release 4.02 of the Linux 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/.
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- ATTRIBUTES
- CONFORMING TO
- NOTES
- SEE ALSO
- COLOPHON