timegm

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

NAME
       timegm, timelocal - inverses of gmtime and localtime

SYNOPSIS
       #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
       The functions timelocal() and timegm() are the inverses of localtime(3)
       and gmtime(3).

ATTRIBUTES
       For  an  explanation  of  the  terms  used   in   this   section,   see
       attributes(7).

       +----------------------+---------------+--------------------+
       |Interface             | Attribute     | Value              |
       +----------------------+---------------+--------------------+
       |timelocal(), timegm() | Thread safety | MT-Safe env locale |
       +----------------------+---------------+--------------------+
CONFORMING TO
       These functions are nonstandard GNU extensions that are also present on
       the BSDs.  Avoid their use; see NOTES.

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");
               if (tz)
                   tz = strdup(tz);
               setenv("TZ", "", 1);
               tzset();
               ret = mktime(tm);
               if (tz) {
                   setenv("TZ", tz, 1);
                   free(tz);
               } else
                   unsetenv("TZ");
               tzset();
               return ret;
           }

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

COLOPHON
       This page is part of release 4.04 of the Linux  man-pages  project.   A
       description  of  the project, information about reporting bugs, and the
       latest    version    of    this    page,    can     be     found     at
       http://www.kernel.org/doc/man-pages/.

GNU                               2015-03-02                         TIMEGM(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2021 Hurricane Electric. All Rights Reserved.