timegm, timelocal — inverses of gmtime and localtime
#include <time.h>
time_t timelocal( |
struct tm * | tm); |
time_t timegm( |
struct tm * | tm); |
These functions are non-standard 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"); setenv("TZ", "", 1); tzset(); ret = mktime(tm); if (tz) setenv("TZ", tz, 1); else unsetenv("TZ"); tzset(); return ret; }
gmtime(3), localtime(3), mktime(3), tzset(3)
|
|