gmtime_s, _gmtime32_s, _gmtime64_s

convierte un valor de hora a una estructura.Éstas son versiones de _gmtime32, _gmtime64 con mejoras de seguridad como se describe en Características de seguridad en CRT.

errno_t gmtime_s(
   struct tm* _tm,
   const __time_t* time
);
errno_t _gmtime32_s(
   struct tm* _tm,
   const __time32_t* time
);
errno_t _gmtime64_s(
   struct tm* _tm,
   const __time64_t* time 
);

Parámetros

  • _tm
    puntero a una estructura de tm .Los campos de bloqueo devuelto de estructura el valor evaluado del argumento de timer en hora UTC en lugar de en hora local.

  • time
    Puntero al tiempo almacenado.El tiempo se representa como segundos transcurridos desde la medianoche (00:00: 00), el 1 de enero de 1970, hora universal coordinada (UTC) (UTC).

Valor devuelto

cero si correctamente.el valor devuelto es un código de error si hay un error.Los códigos de error se definen en Errno.h; para obtener una lista de estos errores, vea errno.

condiciones de error

_tm

time

Return

Valor de _tm

NULL

cualquier

EINVAL

no modificado.

No NULL (señala memoria válido)

NULL

EINVAL

Todos los campos establecidos en -1.

no NULL

< 0

EINVAL

Todos los campos establecidos en -1.

En el caso de las primeras dos condiciones de error, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, este errno establecido funciones a EINVAL y a EINVALreturn.

Comentarios

la función de _gmtime32_s analiza el valor de time y lo almacena en una estructura de tmescrito, definido en Time.h.Pasa la dirección de la estructura en _tm.El valor de time se obtiene normalmente de una llamada a la función de time .

[!NOTA]

El entorno de destino debe intentar determinar si el horario de verano está vigente.La biblioteca en tiempo de ejecución de C supone las reglas de los Estados Unidos para implementar el cálculo de tiempo de guardar de luz.

Cada uno de los campos de la estructura es de inttipo, como se muestra en la tabla siguiente.

  • tm_sec
    Segundos después de min (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
    siempre 0 para gmtime.

_gmtime64_s, que utiliza la estructura de __time64_t , permite que las fechas están expresadas hacia arriba con 23:59: 59, el 31 de diciembre, 3000, hora UTC; mientras que gmtime32_s sólo representa las fechas con 03:14: 7 de enero de 19, 2038, La hora UTC.La medianoche, el 1 de enero de 1970, es el límite inferior del intervalo de fechas para estas funciones.

gmtime_s es una función inline que se evalúa como _gmtime64_s y time_t es equivalente a __time64_t.Si necesita hacer que el compilador para interpretar time_t como time_tde 32 bits anterior, puede definir _USE_32BIT_TIME_T.Ello producirá gmtime_s en-que se alineará a _gmtime32_s.Esto no es recomendable porque la aplicación puede producir un error después del 18 de enero de 2038, y no se permite en plataformas de 64 bits.

Requisitos

rutina

Encabezado necesario

gmtime_s

<time.h>

_gmtime32_s

<time.h>

_gmtime64_s

<time.h>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

Ejemplo

// crt_gmtime64_s.c
// This program uses _gmtime64_s to convert a 64-bit
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime_s to
// convert this structure to an output string.
 

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

int main( void )
{
   struct tm newtime;
   __int64 ltime;
   char buf[26];
   errno_t err;

   _time64( &ltime );

   // Obtain coordinated universal time: 
   err = _gmtime64_s( &newtime, &ltime );
   if (err)
   {
      printf("Invalid Argument to _gmtime64_s.");
   }
   
   // Convert to an ASCII representation 
   err = asctime_s(buf, 26, &newtime);
   if (err)
   {
      printf("Invalid Argument to asctime_s.");
   }

   printf( "Coordinated universal time is %s\n", 
           buf );
}
  

Equivalente en .NET Framework

Vea también

Referencia

Administración de tiempo

asctime_s, _wasctime_s

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime_s, _localtime32_s, _localtime64_s

_mkgmtime, _mkgmtime32, _mkgmtime64

mktime, _mktime32, _mktime64

time, _time32, _time64