localTime _localtime32, _localtime64
Converter um valor temporal e corrigir para o local fuso horário.Versões mais seguras dessas funções estão disponível; consulte localtime_s _localtime32_s, _localtime64_s.
struct tm *localtime(
const time_t *timer
);
struct tm *_localtime32(
const __time32_t *timer
);
struct tm *_localtime64(
const __time64_t *timer
);
Parâmetros
- timer
Ponteiro para a time armazenado.
Valor de retorno
Retornar um ponteiro para o resultado de estrutura ou NULL Se a data é passado para a função é:
Antes da meia-noite, 1 º de janeiro de 1970.
Depois de 03: 14: 07, 19 de janeiro de 2038, a UTC (usando _time32 e time32_t).
Após a 23: 59: 59, 31 de dezembro de 3000, UTC (usando _time64 e __time64_t).
_localtime64, que usa o __time64_t estruturar, permite que as datas para ser expressa até a 23: 59: 59, 31 de dezembro de 3000, formato time universal coordenado (UTC), enquanto _localtime32 representa datas até 14: 03: 07 19 de janeiro de 2038, UTC.
In Visual C++ 2005,** localtime is an inline function which evaluates to _localtime64, and time_t is equivalent to __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 localtimea ser avaliada como _localtime32. Isso não é recomendado porque seu aplicativo pode falhar após 19 de janeiro de 2038, e não é permitido em plataformas de 64 bit.
Os campos da estrutura digite TM armazenar os valores a seguir, cada um dos quais é um int:
tm_sec
Segundos após minuto (0 – 59).tm_min
Minutos após hora (0 – 59).tm_hour
Horas após 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
Valor positivo se verão time está em vigor; 0 se verão time é não negativa em vigor; valor se status do verão time é desconhecido.Se o TZ variável de ambiente é conjunto, a biblioteca de time de execução C assume regras apropriadas para o Brasil para implementar o cálculo de - horário de verão (DST).
Comentários
The localtime função converte uma time armazenada sistema autônomo um time_t valor de e armazena o resultado em uma estrutura do tipo tm. The long valor timer representa que os segundos passados desde meia-noite (00: 00: 00), 1 º de janeiro de 1970 UTC. Esse valor geralmente é obtido do time função.
Both the 32-bit and 64-bit versions ofgmtime, mktime, mkgmtime, and localtimeall use a single tm structure per thread for the conversion.Cada telefonar para um dessas rotinas destrói o resultado da telefonar anterior.
localtime corrige a hora local zona se o usuário primeiro definir a variável de ambiente global TZ. Quando TZ é conjunto, três outros () variáveis de ambiente_timezone, _daylight, e _tzname) são automaticamente conjunto também. Se o TZ variável não definida, localtime tenta usar as informações de fuso horário especificadas no aplicativo de data/time no painel de controle. Se não é possível obter essa informação, PST8PDT, o que significa a região do Pacífico time, será usado por padrão.See _tzset para obter uma descrição dessas variáveis.TZ é uma extensão da Microsoft e não faz parte da definição do padrão ANSI de localtime.
Observação: |
---|
O ambiente de destino deve tentar determinar se o horário de verão está em vigor. |
Essas funções validar seus parâmetros.If timer é um ponteiro nulo ou se o valor do timer for negativo, essas funções chamar um manipulador de parâmetro inválido, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, as funções retornam NULL e conjunto errno para EINVAL.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
localtime |
<time.h> |
_localtime32 |
<time.h> |
_localtime64 |
<time.h> |
Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.
Exemplo
// crt_localtime.cpp
// compile with: /W3
/* This program uses _time64 to get the current time
* and then uses localtime64() to convert this time to a structure
* representing the local time. The program converts the result
* from a 24-hour clock to a 12-hour clock and determines the
* proper extension (AM or PM).
*/
#include <stdio.h>
#include <string.h>
#include <time.h>
int main( void )
{
struct tm *newtime;
char am_pm[] = "AM";
__time64_t long_time;
_time64( &long_time ); // Get time as 64-bit integer.
// Convert to local time.
newtime = _localtime64( &long_time ); // C4996
// Note: _localtime64 deprecated; consider _localetime64_s
if( newtime->tm_hour > 12 ) // Set up extension.
strcpy_s( am_pm, sizeof(am_pm), "PM" );
if( newtime->tm_hour > 12 ) // Convert from 24-hour
newtime->tm_hour -= 12; // to 12-hour clock.
if( newtime->tm_hour == 0 ) // Set hour to 12 if midnight.
newtime->tm_hour = 12;
char buff[30];
asctime_s( buff, sizeof(buff), newtime );
printf( "%.19s %s\n", buff, am_pm );
}
Tue Feb 12 10:05:58 AM
Equivalente do NET Framework
sistema::DateTime::ToLocalTime
Consulte também
Referência
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64