Export (0) Print
Expand All

gmtime, _gmtime64

Convert a time value to a structure.

struct tm *gmtime( 
   const time_t *timer 
);
struct tm *_gmtime64( 
   const __time64_t *timer 
);

Parameter

timer
Pointer to stored time. The time is represented as seconds elapsed since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC).

Return Value

Return a pointer to a structure of type tm. The fields of the returned structure hold the evaluated value of the timer argument in UTC rather than in local time. Each of the structure fields is of type int, as follows:

tm_sec
Seconds after minute (0 – 59).
tm_min
Minutes after hour (0 – 59).
tm_hour
Hours since midnight (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
Always 0 for gmtime.

The gmtime, mktime, and localtime functions use the same single, statically allocated structure to hold their results. Each call to one of these functions destroys the result of any previous call. If timer represents a date before midnight, January 1, 1970, gmtime returns NULL. There is no error return.

_gmtime64, which uses the __time64_t structure, allows dates to be expressed up through 23:59:59, December 31, 3000, UTC, whereas gmtime only represent dates through 19:14:07 January 18, 2038, UTC. Midnight, January 1, 1970, is the lower bound of the date range for both these functions.

Remarks

The gmtime function breaks down the timer value and stores it in a statically allocated structure of type tm, defined in TIME.H. The value of timer is usually obtained from a call to the time function.

Note   The target environment should try to determine whether daylight savings time is in effect. The C run-time library assumes the United States rules for implementing the calculation of Daylight Saving Time (DST).

Requirements

Routine Required header Compatibility
gmtime <time.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
_gmtime64 <time.h> Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

Example

// crt_gmtime.c
/* This program uses _gmtime64 to convert a long-
 * integer representation of coordinated universal time
 * to a structure named newtime, then uses asctime to
 * convert this structure to an output string.
 */

#include <time.h>
#include <stdio.h>

int main( void )
{
   struct tm *newtime;
   __int64 ltime;

   _time64( &ltime );

   /* Obtain coordinated universal time: */
   newtime = _gmtime64( &ltime );
   printf( "Coordinated universal time is %s\n", 
                               asctime( newtime ) );
}

Sample Output

Coordinated universal time is Tue Feb 12 23:11:31 2002

See Also

Time Management Routines | asctime | ctime | _ftime | localtime | mktime | time | Run-Time Routines and .NET Framework Equivalents

Show:
© 2014 Microsoft