TIMEGMSection: Linux Programmer's Manual (3)Updated: 2001-12-26 |
TIMEGMSection: Linux Programmer's Manual (3)Updated: 2001-12-26 |
#include <time.h> time_t timelocal (struct tm *tm); time_t timegm (struct tm *tm);
For a portable version of timegm(), set the TZ environment variable to UTC, call mktime() 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; }