_tzset
Variáveis de ambiente de tempo dos conjuntos.
Importante |
---|
Este API não pode ser usado em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW. |
void _tzset( void );
Comentários
A função de _tzset usa a configuração atual da variável de ambiente TZ para atribuir valores a três variáveis globais: _daylight, _timezone, e _tzname.Essas variáveis são usados por funções de _ftime e de localtime para fazer correções de tempo universais de coordenadas (UTC) para hora local, e a função de time calcular o UTC de tempo do sistema.Use a seguinte sintaxe para definir a variável de ambiente de TZ :
setTZ=tzn[+ | –]hh[:mm[:ss] ][dzn]
tzn
Nome do fuso horário de três letras, como PST.Você deve especificar o deslocamento de tempo local correto para UTC.hh
Diferença entre o UTC em horas e hora local.Assinar (+) opcional para valores positivos.mm
Minutos.Separado de hh por dois-pontos (:).ss
Segundos.Separado de mm por dois-pontos (:).dzn
Zona de horário de verão de três letras como PDT.Se o horário de verão nunca é aplicado na localidade, defina TZ sem um valor para dzn.A biblioteca em tempo de execução de C pressupõe as regras dos Estados Unidos para implementar o cálculo do horário de verão (DST).
Observação |
---|
Leva em calcular o sinal da diferença de tempo.Como a diferença de tempo é o deslocamento do UTC para hora local (em vez do inverso), seu sinal pode ser o oposto do que você pode esperar intuitiva.Para fusos horários antes do UTC, a diferença de tempo é negativo; para esses code-behind do UTC, a diferença é positivo. |
Por exemplo, para definir a variável de ambiente de TZ para corresponder ao fuso horário atual na Alemanha, digite o seguinte na linha de comando:
set TZ=GST-1GDT
Este comando usa GST para indicar horário padrão, alemão pressupõe que o UTC é uma hora de apoio Alemanha (ou é a Alemanha é uma hora do UTC) antes, e que pressupõe que a Alemanha observa o horário de verão.
Se o valor de TZ não é definido, o _tzset tentar usar informações de zona de tempo especificada pelo sistema operacional.No sistema operacional Windows, essa informação é especificada no aplicativo de data/hora no painel de controle.Se _tzset não pode obter esta informação, usa PST8PDT por padrão, o que significa a zona de tempo do pacífico.
Com base no valor da variável de ambiente TZ , os seguintes valores são atribuídos a variáveis globais _daylight, _timezone, e _tzname quando _tzset é chamado:
Variável global |
Descrição |
Valor padrão |
---|---|---|
_daylight |
Valor diferente de zero se uma zona de horário de verão é especificada na definição de TZ ; caso contrário, 0. |
1 |
_timezone |
No segundo diferença entre o UTC e o horário local. |
28800 (28800 segundo é igual a 8 horas) |
_tzname[0] |
Valor de cadeia de caracteres do nome do fuso horário da variável de ambiente de TZ ; vazia se TZ não foi definido. |
PST |
_tzname[1] |
Valor de cadeia de caracteres da zona de horário de verão; vazia se a zona de horário de verão é omitida da variável de ambiente de TZ . |
PDT |
Os valores padrão mostrados na tabela anterior para _daylight e a matriz de _tzname correspondem a PST8PDT “.” Se a zona de DST é omitida da variável de ambiente de TZ , o valor de _daylight é 0 e _ftime, gmtime, e funções de localtime retornam 0 para os sinalizadores de DST.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_tzset |
<time.h> |
Para obter mais informações, consulte Compatibilidade.
Exemplo
// crt_tzset.cpp
// This program uses _tzset to set the global variables
// named _daylight, _timezone, and _tzname. Since TZ is
// not being explicitly set, it uses the system time.
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
_tzset();
int daylight;
_get_daylight( &daylight );
printf( "_daylight = %d\n", daylight );
long timezone;
_get_timezone( &timezone );
printf( "_timezone = %ld\n", timezone );
size_t s;
char tzname[100];
_get_tzname( &s, tzname, sizeof(tzname), 0 );
printf( "_tzname[0] = %s\n", tzname );
exit( 0 );
}
Equivalência do .NET Framework
Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.