TIMEGM(3) manual page
Table of Contents
timegm, timelocal - inverses of gmtime and localtime
#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
The functions
timelocal() and timegm() are the inverses of localtime(3)
and gmtime(3)
.
These functions are nonstandard GNU extensions that are also
present on the BSDs. Avoid their use; see 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;
}
gmtime(3)
, localtime(3)
, mktime(3)
, tzset(3)
This page
is part of release 3.78 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/.
Table of Contents