GMTIME_R(3) Library Functions Manual GMTIME_R(3)

gmtime gmtime_rconvert a time value to a broken-down UTC time

#include <time.h>

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

For gmtime (): [CX] 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-2008 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).

[CX] The relationship between a time in seconds since the Epoch used as an argument to gmtime () and the 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 XBD V1_chap04(7)), 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(3), ctime(3), gmtime (), and localtime(3) functions shall return values in one of two static objects: a broken-down time structure and an array of type . 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.

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 [CX] 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.

The gmtime () [CX] and gmtime_r () functions shall fail if:

[CX] The result cannot be represented.

None.

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.

None.

None.

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

XBD V1_chap04(7), <time.h>

First released in Issue 1. Derived from Issue 1 of the SVID.

A note indicating that the gmtime () function need not be reentrant is added to the DESCRIPTION.

The gmtime_r () function is included for alignment with the POSIX Threads Extension.

The gmtime_r () function is marked as part of the Thread-Safe Functions option.

Extensions beyond the ISO C standard are marked.

The APPLICATION USAGE section is updated to include a note on the thread-safe function and its avoidance of possibly using a static data area.

The keyword is added to the gmtime_r () prototype for alignment with the ISO/IEC 9899:1999 (“ISO C99”) standard.

IEEE Std 1003.1-2001 (“POSIX.1”)/Cor 1-2002, item XSH/TC1/D6/27 is applied, adding the [EOVERFLOW] error.

IEEE Std 1003.1-2001 (“POSIX.1”)/Cor 2-2004, item XSH/TC2/D6/48 is applied, updating the error handling for gmtime_r ().

Austin Group Interpretation 1003.1-2001 #156 is applied.

The gmtime_r () function is moved from the Thread-Safe Functions option to the Base.

January 1, 2013 posix.fail