home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | CONFORMING TO | NOTES | SEE ALSO | COLOPHON


TIMEGM(3)                     Linux Programmer's Manual                     TIMEGM(3)

NAME         top

       timegm, timelocal - inverses of gmtime and localtime

SYNOPSIS         top

       #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         top

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

CONFORMING TO         top

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

NOTES         top

       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;
           }

SEE ALSO         top

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

COLOPHON         top

       This page is part of release 3.23 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/.

GNU                                   2007-07-26                            TIMEGM(3)