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