Compartilhar via


_ftime_s, _ftime32_s, _ftime64_s

Obtém a hora atual. Essas são as versões de _ftime, _ftime32, _ftime64 com aprimoramentos de segurança, como descrito em Recursos de segurança no CRT.

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

Parâmetros

  • timeptr
    Ponteiro para _timeb,__timeb32, ou estrutura de __timeb64 .

Valor de retorno

Zero se tiver êxito, um código de erro ou falha. Se timeptr é NULL, o valor de retorno será EINVAL.

Comentários

A função de _ftime_s obtém a hora local atual e armazena-as na estrutura apontada por timeptr*.* _timeb,__timeb32,eas estruturas de__timeb64 são definidos no sistema \ Timeb.h. Contém quatro campos, listados na tabela a seguir.

  • dstflag
    Diferente de zero se o tempo do horário de verão estão atualmente em vigor para o fuso horário local. (Consulte _tzset para obter uma explicação de como a hora do horário de verão são determinados.)

  • millitm
    Fração de um segundo em milissegundos.

  • time
    O tempo em segundos desde meia-noite (00:00: 00), o 1º de janeiro de 1970, coordinator hora universal (UTC).

  • timezone
    Diferença em minutos, movendo para o oeste, entre UTC e hora local. O valor de timezone é definido do valor da variável global _timezone (consulte _tzset).

_ftime64_s, que usa a estrutura de __timeb64 , permite que as datas de arquivo criar são expressas anterior a 23:59: o 31 de dezembro, 59, 3000, UTC; considerando que _ftime32_s representa apenas datas a 03:14: 7 de janeiro de 19, 2038, UTC. A meia-noite, o 1º de janeiro de 1970, é o limite inferior do intervalo de datas para todas essas funções.

_ftime_s é equivalente a _ftime64_s e _timeb contém um horário de 64 bits. Isso é verdadeiro a menos que o _USE_32BIT_TIME_T tenha sido definido nesse caso, o comportamento anterior é aplicado; o _ftime_s usa um horário de 32 bits e _timeb contém um horário de 32 bits.

_ftime_s valida seus parâmetros. Se passado um ponteiro nulo como timeptr, a função invoca o manipulador inválido do parâmetro, conforme descrito em Validação do parâmetro. Se a execução for permitida continuar, a função errno define a EINVAL.

Requisitos

Função

Cabeçalho necessário

_ftime_s

<o sistema/types.h e> sistema </timeb.h>

_ftime32_s

<o sistema/types.h e> sistema </timeb.h>

_ftime64_s

<o sistema/types.h e> sistema </timeb.h>

Para obter mais informações sobre compatibilidade, consulte Compatibilidade na Introdução.

Bibliotecas

Todas as versões das Bibliotecas em tempo de execução C.

Exemplo

// 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] );
}
  

Equivalência do .NET Framework

System::DateTime::Now

Consulte também

Referência

Gerenciamento de tempo

asctime, _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

time, _time32, _time64