gmtime64_r() — Convert Time (Restartable)

Format

#include <time.h>
struct tm *gmtime64_r(const time64_t *time, struct tm *result);

Language Level: ILE C Extension

Threadsafe: Yes.

Description

This function is the restartable version of gmtime64().

The gmtime64_r() function breaks down the time value, in seconds, and stores it in result. result is a pointer to the tm structure, defined in <time.h>. The value time is usually obtained by a call to the time64() function.

The fields of the tm structure include:

tm_sec
Seconds (0-61)
tm_min
Minutes (0-59)
tm_hour
Hours (0-23)
tm_mday
Day of month (1-31)
tm_mon
Month (0-11; January = 0)
tm_year
Year (current year minus 1900)
tm_wday
Day of week (0-6; Sunday = 0)
tm_yday
Day of year (0-365; January 1 = 0)
tm_isdst
Zero if daylight saving time is not in effect; positive if daylight saving time is in effect; negative if the information is not available.

Return Value

The gmtime64_r() function returns a pointer to the resulting tm structure.

Notes:
  1. The range (0-61) for tm_sec allows for as many as two leap seconds.
  2. The gmtime64() and localtime64() functions might use a common, statically allocated buffer for the conversion. Each call to one of these functions might alter the result of the previous call. The asctime_r(), ctime64_r(), gmtime64_r(), and localtime64_r() functions do not use a common, statically allocated buffer to hold the return string. These functions can be used in place of the asctime(), ctime64(), gmtime64(), and localtime64() functions if reentrancy is desired.
  3. Calendar time is the number of seconds that have elapsed since EPOCH, which is 00:00:00, January 1, 1970 Universal Coordinate Time (UTC).

Example that uses gmtime64_r()

This example uses the gmtime64_r() function to adjust a time64_t representation to a Universal Coordinate Time character string and then converts it to a printable string using the asctime_r() function.

#include <stdio.h>
#include <time.h>
 
int main(void)
{
   time64_t ltime;
   struct tm mytime;
   char buf[50];
 
   time64(&ltime)
	printf ("Universal Coordinate Time is %s",
            asctime_r(gmtime64_r(&ltime, &mytime), buf));
}
 
/************************  Output should be similar to:  **********
 
Universal Coordinate Time is Wed Aug 18 21:01:44 1993
*/

Related Information



[ Top of Page | Previous Page | Next Page | Contents | Index ]