gmtime, _gmtime32, _gmtime64

Convierte un valor de hora time_t en una estructura tm. Existen versiones más seguras de estas funciones disponibles; consulte gmtime_s, _gmtime32_s, _gmtime64_s.

Sintaxis

struct tm *gmtime( const time_t *sourceTime );
struct tm *_gmtime32( const __time32_t *sourceTime );
struct tm *_gmtime64( const __time64_t *sourceTime );

Parámetros

sourceTime
Puntero a la hora almacenada. La hora se representa como los segundos transcurridos desde la medianoche (00:00:00) del 1 de enero de 1970, hora universal coordinada (UTC).

Valor devuelto

Puntero a una estructura de tipo tm. Los campos de la estructura devuelta contienen el valor evaluado del argumento de sourceTime en hora UTC y no en hora local. Cada uno de los campos de la estructura es de tipo int, como se indica a continuación:

Campo Descripción
tm_sec Segundos después del minuto (0 - 59).
tm_min Minutos después de la hora (0 - 59).
tm_hour Horas desde la medianoche (0 - 23).
tm_mday Día del mes (1 - 31).
tm_mon Mes (0 - 11; enero = 0).
tm_year Año (año actual menos 1900).
tm_wday Día de la semana (0 - 6; domingo = 0).
tm_yday Día del año (0 - 365; 1 de enero = 0).
tm_isdst Es siempre 0 para gmtime.

Las versiones de 32 bits y 64 bits de gmtime, mktime, mkgmtime y localtime usan una estructura de tm común por subproceso para realizar la conversión. Cada llamada a una de estas funciones destruye el resultado de las llamadas anteriores. Si sourceTime representa una fecha anterior a la medianoche del 1 de enero de 1970, gmtime devuelve NULL. No se devuelve ningún error.

_gmtime64, que usa la estructura __time64_t, permite expresar fechas hasta las 23:59:59 del 31 de diciembre de 3000, hora UTC. _gmtime32 solo representa fechas hasta las 23:59:59 del 18 de enero de 2038, hora UTC. La medianoche del 1 de enero de 1970 es el límite inferior del intervalo de fechas para ambas funciones.

gmtime es una función insertada que se evalúa como _gmtime64, y time_t es equivalente a __time64_t a menos que se defina _USE_32BIT_TIME_T. Si es necesario que el compilador interprete time_t como el valor time_t de 32 bits anterior, puede definir _USE_32BIT_TIME_T, pero si lo hace gmtime se insertará en _gmtime32 y time_t se definirá como __time32_t. No se recomienda usar _USE_32BIT_TIME_T, ya que no se permite en plataformas de 64 bits. En cualquier caso, la aplicación puede dejar de funcionar después del 18 de enero de 2038.

Estas funciones validan sus parámetros. Si sourceTime es un puntero NULL, o si el valor sourceTime es negativo, estas funciones invocan un controlador de parámetros no válidos, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, las funciones devuelven NULL y establecen errno en EINVAL.

Comentarios

La función _gmtime32 desglosa el valor sourceTime y lo almacena en una estructura asignada estáticamente de tipo tm, definida en TIME.H. El valor de sourceTime se suele obtener de una llamada a la función time.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Routine Encabezado C necesario Encabezado C++ necesario
gmtime, _gmtime32, _gmtime64 <time.h> <ctime> o <time.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// crt_gmtime.c
// compile with: /W3
// 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;
   char buff[80];

   _time64( &ltime );

   // Obtain coordinated universal time:
   newtime = _gmtime64( &ltime ); // C4996
   // Note: _gmtime64 is deprecated; consider using _gmtime64_s
   asctime_s( buff, sizeof(buff), newtime );
   printf( "Coordinated universal time is %s\n", buff );
}
Coordinated universal time is Tue Feb 12 23:11:31 2002

Consulte también

Administración de tiempo
asctime, _wasctime
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_ftime, _ftime32, _ftime64
gmtime_s, _gmtime32_s, _gmtime64_s
localtime, _localtime32, _localtime64
_mkgmtime, _mkgmtime32, _mkgmtime64
mktime, _mktime32, _mktime64
time, _time32, _time64