Partilhar via


_gmtime_s _gmtime32_s, _gmtime64_s

Converte um valor temporal em uma estrutura.Essas são sistema autônomo versões de _gmtime32, _gmtime64 com aprimoramentos de segurança conforme descrito em Aprimoramentos de segurança no 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
    Ponteiro para um tm estrutura. Os campos da estrutura retornado Isenção o valor avaliado do timer argumento em UTC, em vez de time local.

  • time
    Ponteiro para a time armazenado.O time é representado sistema autônomo segundos passados desde meia-noite (00: 00: 00), 1 º de janeiro de 1970, formato time universal coordenado (UTC).

Valor de retorno

Zero se for bem-sucedido.O valor retornado é um código de erro se houver uma falha.Códigos de erro estão definidos no errno.h; para obter uma listagem desses erros, consulte errno.

Condições de erro

_tm

time

Return

Valor em _tm

NULL

any

EINVAL

Não modificado.

Not NULL (points to valid memory)

NULL

EINVAL

Todos os campos definidos como -1.

Not NULL

< 0

EINVAL

Todos os campos definidos como -1.

No caso de condições de duas erro primeira, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, essas funções conjunto errno para EINVAL e retornar EINVAL.

Comentários

The _gmtime32_s função divide o time valor e as armazena em uma estrutura estaticamente alocada do tipo tm, definido no Time.h. O valor de time geralmente são obtidas de uma telefonar para o time função.

Observação:

O ambiente de destino deve tentar determinar se o horário de verão está em vigor.Assume que a biblioteca de time de execução C o Estados Unidos regras para a implementação de cálculo de verão time.

Cada um dos campos de estrutura de é do tipo int, sistema autônomo mostrado na tabela a seguir.

  • 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 corrente menos 1900).

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

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

  • tm_isdst
    Sempre 0 para gmtime.

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

In Visual C++ 2005, gmtime_s é uma função in-line que é avaliada como _gmtime64_se time_té equivalente a __time64_t. If you need to force the compiler to interpret time_t as the old 32-bit time_t, you can define _USE_32BIT_TIME_T.Isso fará com que gmtime_s seja com no-linhas para _gmtime32_s. Isso não é recomendado porque seu aplicativo pode falhar após 18.01.38, e não é permitido em plataformas de 64 bit.

Requisitos

Rotina

Cabeçalho necessário

_gmtime_s

<time.h>

_gmtime32_s

<time.h>

_gmtime64_s

<time.h>

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

Exemplo

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

Coordinated universal time is Fri Apr 25 20:12:33 2003

Equivalente do NET Framework

Consulte também

Referência

Gerenciamento de time

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