Provided by: manpages-posix-dev_2017a-2_all bug

PROLOG

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of
       this interface may differ (consult the corresponding Linux  manual  page  for  details  of
       Linux behavior), or the interface may not be implemented on Linux.

NAME

       gmtime, gmtime_r — convert a time value to a broken-down UTC time

SYNOPSIS

       #include <time.h>

       struct tm *gmtime(const time_t *timer);
       struct tm *gmtime_r(const time_t *restrict timer,
           struct tm *restrict result);

DESCRIPTION

       For gmtime(): The functionality described on this reference page is aligned with the ISO C
       standard. Any conflict between the requirements described here and the ISO C  standard  is
       unintentional. This volume of POSIX.1‐2017 defers to the ISO C standard.

       The  gmtime()  function  shall  convert  the time in seconds since the Epoch pointed to by
       timer into a broken-down time, expressed as Coordinated Universal Time (UTC).

       The relationship between a time in seconds since the Epoch used as an argument to gmtime()
       and  the  tm  structure  (defined  in  the <time.h> header) is that the result shall be as
       specified in the expression given in the definition of seconds since the  Epoch  (see  the
       Base Definitions volume of POSIX.1‐2017, Section 4.16, Seconds Since the Epoch), where the
       names in the structure and in the expression correspond.

       The same relationship shall apply for gmtime_r().

       The gmtime() function need not be thread-safe.

       The asctime(), ctime(), gmtime(), and localtime() functions shall return values in one  of
       two  static objects: a broken-down time structure and an array of type char.  Execution of
       any of the functions may overwrite the information returned in either of these objects  by
       any of the other functions.

       The  gmtime_r()  function  shall convert the time in seconds since the Epoch pointed to by
       timer into a broken-down time expressed as Coordinated Universal Time (UTC).  The  broken-
       down time is stored in the structure referred to by result.  The gmtime_r() function shall
       also return the address of the same structure.

RETURN VALUE

       Upon successful completion, the gmtime() function shall return a pointer to a  struct  tm.
       If  an  error  is detected, gmtime() shall return a null pointer and set errno to indicate
       the error.

       Upon successful completion, gmtime_r() shall return the address of the  structure  pointed
       to  by  the  argument  result.   If  an  error is detected, gmtime_r() shall return a null
       pointer and set errno to indicate the error.

ERRORS

       The gmtime() and gmtime_r() functions shall fail if:

       EOVERFLOW
              The result cannot be represented.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The gmtime_r() function is thread-safe  and  returns  values  in  a  user-supplied  buffer
       instead of possibly using a static data area that may be overwritten by each call.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       asctime(),  clock(),  ctime(),  difftime(), localtime(), mktime(), strftime(), strptime(),
       time(), utime()

       The Base Definitions volume of  POSIX.1‐2017,  Section  4.16,  Seconds  Since  the  Epoch,
       <time.h>

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1-2017, Standard for Information Technology -- Portable  Operating  System  Interface
       (POSIX),  The  Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by
       the Institute of Electrical and Electronics Engineers, Inc and The  Open  Group.   In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

       Any  typographical  or  formatting errors that appear in this page are most likely to have
       been introduced during the conversion of the source files to man page  format.  To  report
       such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .