timegm

NAME

timegm, timelocal - inverses of gmtime and localtime

SYNOPSIS

#include <time.h>
 I time_t timelocal(struct tm * tm );
 I time_t timegm(struct tm * tm );

DESCRIPTION

The functions R timelocal () and R timegm () are the inverses of localtime(3) and gmtime(3).

CONFORMING TO

These functions are non-standard GNU extensions that are also present on the BSDs. Avoid their use; see NOTES.

NOTES

The R timelocal () function is equivalent to the POSIX standard function mktime(3). There is no reason to ever use it.
For a portable version of R timegm (), set the TZ environment variable to UTC, call mktime(3) and restore the value of R TZ . Something like
#include <time.h>
#include <stdlib.h>

time_t
my_timegm(struct tm *tm)
{
    time_t ret;
    char *tz;

    tz = getenv("TZ");
    setenv("TZ", "", 1);
    tzset();
    ret = mktime(tm);
    if (tz)
        setenv("TZ", tz, 1);
    else
        unsetenv("TZ");
    tzset();
    return ret;
}

SEE ALSO

gmtime(3), localtime(3), mktime(3), tzset(3)