GMTIME(3) Library Functions Manual GMTIME(3)

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

#include <time.h>

struct tm *gmtime(const time_t *timer);
[TSF] 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 IEEE Std 1003.1-2001 (“POSIX.1”) 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 the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), xbd_chap04(7)), where the names in the structure and in the expression correspond.

[TSF] The same relationship shall apply for gmtime_r ().

[CX] The gmtime () function need not be reentrant. A function that is not required to be reentrant is not required to 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.

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

[TSF] 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 () [TSF] 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), the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <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 ().

footer end

January 1, 2004 posix.fail