Compartilhar via


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

Gerenciamento de time

asctime, _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime _ftime32, _ftime64

gmtime _gmtime32, _gmtime64

localtime_s _localtime32_s, _localtime64_s

time, _time32, _time64

_tzset