TIMEGM

NAME
SYNOPSIS
DESCRIPTION
ATTRIBUTES
CONFORMING TO
NOTES
SEE ALSO
COLOPHON

NAME

timegm, timelocal − inverses of gmtime and localtime

SYNOPSIS

#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).

Image grohtml-176321.png

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 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/.