_tzset
Ustawia czas zmiennych środowiskowych.
Ważne |
---|
Ten interfejs API nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW. |
void _tzset( void );
Uwagi
_tzset Funkcja używa bieżącego ustawienia zmiennej środowiskowej TZ do przypisywania wartości do trzy zmienne globalne: _daylight, _timezone, i _tzname.Są one używane przez _ftime i localtime funkcji, aby wprowadzić poprawki z uniwersalnym czasem koordynowanym (UTC), na czas lokalny, a przez time funkcja do obliczania czasu UTC od czasu systemowego.Należy użyć następującej składni, aby ustawić TZ zmiennej środowiskowej:
setTZ=tzn[+ | –]hh[:mm[:ss] ][dzn]
tzn
Nazwa strefy czasowej trzyliterowy, takich jak PST.Należy określić poprawny przesunięcie od czasu lokalnego na UTC.hh
Różnica w godzinach między czasem UTC i czasem lokalnym.Znak (+) fakultatywne dla wartości dodatnich.mm
Minut.Oddzielony od hh za pomocą dwukropka (:).ss
Liczba sekund.Oddzielony od mm za pomocą dwukropka (:).dzn
Trzyliterowy strefa zmiany czasu, takich jak PDT.Jeśli zmiany czasu, nigdy nie są włączone w tej lokalizacji, ustaw TZ bez wartości dla dzn.Biblioteka uruchomieniowa C zakłada Stanów Zjednoczonych zasady wprowadzania w życie do obliczania czasu letniego (DST).
[!UWAGA]
Należy ostrożnie computing oznak różnica czasu.Ponieważ różnica czasowa jest przesunięcie od czasu lokalnego na UTC (a nie odwrotnie), znaku może być przeciwieństwem intuicyjnie oczekiwanego.Dla stref czasowych przed UTC różnica czasu jest ujemny; dla tych przed UTC różnica jest dodatnia.
Na przykład, aby ustawić TZ zmiennej środowiskowej, aby odpowiadały bieżącej strefy czasowej w Niemczech, wprowadź następujące polecenie w wierszu polecenia:
set TZ=GST-1GDT
To polecenie GST zastosowań, aby wskazać Niemiecki standard time, zakłada, że UTC jest jedną godzinę, za Niemcami (lub innymi słowy, że Niemcy jest jedną godzinę wcześniej UTC) i zakłada się, że Niemcy rejestruje czasu letniego.
Jeśli TZ wartość nie jest ustawiona, _tzset odwołuje się do informacje o strefie czasowej, określonej przez system operacyjny.W systemie operacyjnym Windows to informacje są określone we wniosku Data/Godzina w Panelu sterowania.Jeśli _tzset nie może uzyskać te informacje wykorzystuje PST8PDT domyślnie, co oznacza strefy czasu pacyficznego.
Na podstawie TZ wartość zmiennej środowiskowej, następujące wartości są przypisane do zmiennych globalnych _daylight, _timezone, i _tzname po _tzset nosi nazwę:
Zmienna globalna |
Opis |
Wartość domyślna |
---|---|---|
_daylight |
Wartość różną od zera, jeśli strefa zmiany czasu jest określona w TZ ustawienie; w przeciwnym razie 0. |
1 |
_timezone |
Różnica w sekundach między czasem lokalnym a czasem UTC. |
28800 (jest równe 28 800 sekund 8 godzin) |
_tzname[0] |
Wartość o nazwie strefy czasowej z ciągu TZ zmiennej środowiskowej; Jeśli puste TZ nie została ustawiona. |
PST |
_tzname[1] |
Wartość ciągu strefy zmiany czasu; pusta, jeśli zmiany czasu strefy zostanie pominięty w TZ zmiennej środowiskowej. |
PDT |
Wartości domyślne, pokazane w powyższej tabeli dla _daylight i _tzname tablicy odpowiadają "PST8PDT". Jeśli pominięto strefy czasu letniego w TZ zmiennej środowiskowej, wartość _daylight jest równa 0 i _ftime, gmtime, i localtime funkcje zwracają 0 dla ich flag czasu letniego.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_tzset |
<time.h> |
Aby uzyskać więcej informacji, zobacz zgodności.
Przykład
// 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 );
}
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywoływać funkcji C standardowej, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.