Partilhar via


gmtime, _gmtime32, _gmtime64

Converta um valor de tempo em uma estrutura.Versões mais seguras dessas funções estão disponíveis; see gmtime_s, _gmtime32_s, _gmtime64_s.

struct tm *gmtime( 
   const time_t *timer 
);
struct tm *_gmtime32( 
   const time32_t *timer 
);
struct tm *_gmtime64( 
   const __time64_t *timer 
);

Parâmetros

  • timer
    Ponteiro para o tempo armazenado.O tempo é representado como segundos passados desde a meia-noite (00: 00), 1 de janeiro de 1970, hora universal coordenada (UTC).

Valor de retorno

Retornar um ponteiro para uma estrutura do tipo tm.Os campos da estrutura retornado mantém o valor avaliado da timer em UTC, em vez de na hora local do argumento.Cada um dos campos de estrutura é do tipo int, da seguinte forma:

  • tm_sec
    Segundos após minuto (0 – 59).

  • tm_min
    Minutos após hora (0 – 59).

  • tm_hour
    Horas desde a meia-noite (0 – 23).

  • tm_mday
    Dia do mês (1 – 31).

  • tm_mon
    Mês (0 – 11; Janeiro = 0).

  • tm_year
    Ano (ano atual menos 1900).

  • tm_wday
    Dia da semana (0 – 6; Domingo = 0).

  • tm_yday
    Dia do ano (0 – 365 dias por ano; 1º De janeiro = 0).

  • tm_isdst
    Sempre 0 para gmtime.

Ambas as versões de 32 bits e 64 bits do gmtime, mktime, mkgmtime, e localtimetodos usam um único tm estrutura por thread para a conversão.Cada chamada para uma dessas funções destrói o resultado de qualquer chamada anterior.Se timer representa uma data anterior à meia-noite de 1º de janeiro de 1970, gmtime retorna NULL.Não há nenhum retorno de erro.

_gmtime64, que usa a __time64_t estruturar, permite que as datas para expressos por meio de 23: 59: 59, 31 de dezembro de 3000, UTC, enquanto _gmtime32 representam apenas datas até 03: 14: 07 em 19 de janeiro de 2038, UTC.Meia-noite, de 1º de janeiro de 1970, é o limite inferior do intervalo de datas para ambas essas funções.

gmtimeé uma função in-line que é avaliada como _gmtime64 e time_t é equivalente a __time64_t.Se você precisar forçar o compilador para interpretar time_t como o antigo 32-bit time_t, você pode definir _USE_32BIT_TIME_T.Fazendo isso fará com que gmtime ser com no-linhas para _gmtime32.Isso não é recomendado porque seu aplicativo pode falhar após 18 de janeiro de 2038, e não é permitido em plataformas de 64 bits.

Essas funções validam seus parâmetros.Se timer é um ponteiro nulo ou se o valor do timer for negativo, essas funções invocar um manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro.Se a execução terá permissão para continuar, as funções retornam NULL e defina errno para EINVAL.

Comentários

O _gmtime32 função divide o timer valor e as armazena em uma estrutura alocada estaticamente do tipo tm, definido no momento.H.O valor de timer geralmente são obtidas de uma chamada para o time função.

ObservaçãoObservação

O ambiente de destino deve tentar determinar se o horário de verão está em vigor.A biblioteca de tempo de execução c assume as regras dos Estados Unidos para implementar o cálculo do horário de verão (DST).

Requisitos

Rotina

Cabeçalho necessário

gmtime

<time.h>

_gmtime32

<time.h>

_gmtime64

<time.h>

Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.

Exemplo

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

Equivalência do .NET Framework

Consulte também

Referência

Gerenciamento de tempo

asctime, _wasctime

a ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime_s, _gmtime32_s, _gmtime64_s

localTime, _localtime32, _localtime64

_mkgmtime, _mkgmtime32, _mkgmtime64

mktime, _mktime32, _mktime64

tempo, _time32, _time64