NAME
timegm, timelocal - inverses of gmtime and localtime SYNOPSIS
#include
timet timelocal(struct tm *tm); timet timegm(struct tm *tm); Feature Test Macro Requirements for glibc (see featuretestmacros(7)): timelocal(), timegm(): BSDSOURCE || SVIDSOURCE 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
#include
timet mytimegm(struct tm *tm) { timet 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 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU 2013-07-04 TIMEGM(3)