_ftime_s, _ftime32_s, _ftime64_s

Obtiene la hora actual. Estas funciones son versiones de _ftime, _ftime32, _ftime64 con mejoras de seguridad como se describe en Características de seguridad de CRT.

Sintaxis

errno_t _ftime_s( struct _timeb *timeptr );
errno_t _ftime32_s( struct __timeb32 *timeptr );
errno_t _ftime64_s( struct __timeb64 *timeptr );

Parámetros

timeptr
Puntero a una _timebestructura , __timeb32o __timeb64 .

Valor devuelto

Devuelve cero si se ejecuta correctamente; devuelve un código de error si se produce un error. Si timeptr es NULL, el valor devuelto es EINVAL.

Comentarios

La _ftime_s función obtiene la hora local actual y la almacena en la estructura a timeptrla que apunta . Las _timebestructuras , __timeb32y __timeb64 se definen en SYS\Timeb.h. Contienen cuatro campos, que se enumeran en la tabla siguiente.

Campo Descripción
dstflag Distinto de cero si el horario de verano está en vigor para la zona horaria local. (Vea _tzset para obtener una explicación de cómo se determina el horario de verano).
millitm Fracción de segundo en milisegundos.
time La hora en segundos desde la medianoche (00:00:00) del 1 de enero de 1970, hora universal coordinada (UTC).
timezone Diferencia en minutos, que se desplaza hacia el oeste, entre la hora UTC y la hora local. El valor de timezone se establece a partir del valor de la variable global _timezone (vea _tzset).

La _ftime64_s función, que usa la __timeb64 estructura, permite expresar las fechas de creación de archivos hasta las 23:59:59, 31 de diciembre de 3000, UTC; mientras _ftime32_s que solo representa fechas a las 23:59:59 del 18 de enero de 2038, UTC. La medianoche del 1 de enero de 1970 es el límite inferior del intervalo de fechas para todas estas funciones.

La _ftime_s función es equivalente a _ftime64_sy _timeb contiene un tiempo de 64 bits, a menos _USE_32BIT_TIME_T que se defina, en cuyo caso el comportamiento anterior está en vigor; _ftime_s usa una hora de 32 bits y _timeb contiene una hora de 32 bits.

_ftime_s valida sus parámetros. Si se pasa un puntero nulo como timeptr, la función invoca al controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, la función establece errno en EINVAL.

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

Función Encabezado necesario
_ftime_s <sys/types.h> y <sys/timeb.h>
_ftime32_s <sys/types.h> y <sys/timeb.h>
_ftime64_s <sys/types.h> y <sys/timeb.h>

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

Bibliotecas

Todas las versiones de las bibliotecas en tiempo de ejecución de C.

Ejemplo

// crt_ftime64_s.c
// This program uses _ftime64_s to obtain the current
// time and then stores this time in timebuffer.

#include <stdio.h>
#include <sys/timeb.h>
#include <time.h>

int main( void )
{
   struct _timeb timebuffer;
   char timeline[26];
   errno_t err;
   time_t time1;
   unsigned short millitm1;
   short timezone1;
   short dstflag1;

   _ftime64_s( &timebuffer );

    time1 = timebuffer.time;
    millitm1 = timebuffer.millitm;
    timezone1 = timebuffer.timezone;
    dstflag1 = timebuffer.dstflag;

   printf( "Seconds since midnight, January 1, 1970 (UTC): %I64d\n",
   time1);
   printf( "Milliseconds: %d\n", millitm1);
   printf( "Minutes between UTC and local time: %d\n", timezone1);
   printf( "Daylight savings time flag (1 means Daylight time is in "
           "effect): %d\n", dstflag1);

   err = ctime_s( timeline, 26, & ( timebuffer.time ) );
   if (err)
   {
       printf("Invalid argument to ctime_s. ");
   }
   printf( "The time is %.19s.%hu %s", timeline, timebuffer.millitm,
           &timeline[20] );
}
Seconds since midnight, January 1, 1970 (UTC): 1051553334
Milliseconds: 230
Minutes between UTC and local time: 480
Daylight savings time flag (1 means Daylight time is in effect): 1
The time is Mon Apr 28 11:08:54.230 2003

Consulte también

Administración de tiempo
asctime, _wasctime
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
time, _time32, _time64