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( <ime );
// Obtain coordinated universal time:
newtime = _gmtime64( <ime ); // 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