Sdílet prostřednictvím


_tzset

Nastavujte časové proměnné prostředí.

Důležitá poznámkaDůležité

Toto API nelze použít v aplikacích, které jsou spuštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW.

void _tzset( void );

Poznámky

Funkce _tzset používá aktuální nastavení proměnné prostředí TZ k přiřazení hodnot ke třem globálním proměnným: _daylight, _timezone a _tzname.Tyto proměnné jsou používány funkcemi _ftime a localtime pro provedení korekcí od koordinovaného univerzálního času (UTC) a funkcí time pro vypočítání UTC ze systémového času.Použijte následující syntax k nastavení proměnné prostředí TZ:

setTZ=tzn[+ | –]hh[:mm[:ss] ][dzn]

  • tzn
    Třípísmenný název časového pásma, např. PST.Je nutné zadat správný posun od místního času k času UTC.

  • hh
    Rozdíl v hodinách mezi místním časem a UTC.Znaménko (+) je pro kladné hodnoty volitelné.

  • mm
    Minuty.Odděleny od hh dvojtečkou (:).

  • ss
    Sekundy.Odděleny od mm dvojtečkou (:).

  • dzn
    Třípísmenné časové pásmo s letním časem, např. PDT.Pokud se v oblasti letní čas nepoužívá, nastavte TZ bez hodnoty pro dzn.Knihovna runtime jazyka C předpokládá, že jsou použita pravidla Spojených států pro implementaci výpočtu letního času (DST).

[!POZNÁMKA]

Dejte si pozor při výpočtu znaménka časového rozdílu.Protože časový rozdíl je posun z místního času na UTC (spíše než naopak), jeho znaménko může být opakem toho, co intuitivně očekáváte.Pro časová pásma před časem UTC je časový rozdíl záporný; pro ta za UTC je časový rozdíl kladný.

Chcete-li například nastavit proměnnou prostředí TZ tak, aby odpovídala aktuálnímu časovému pásmu v Německu, zadejte na příkazovém řádku následující:

set TZ=GST-1GDT

Tento příkaz používá GST k označení německého standardního času, předpokládá, že čas UTC je jednu hodinu za Německem (nebo jinými slovy, že Německo je hodinu napřed před časem UTC) a předpokládá, že Německo dodržuje letní čas.

Pokud hodnota TZ není nastavena, _tzset se pokusí použít informace o časovém pásmu, který je určen pro operační systém.V operačním systému Windows je tato informace zadána v aplikaci Datum/čas v okně Ovládací panely.Pokud _tzset nemůže získat tyto informace, použije PST8PDT ve výchozím nastavení, což znamená tichomořské časové pásmo.

Na základě hodnoty proměnné prostředí TZ jsou následující hodnoty přiřazeny globálním proměnným _daylight, _timezone a _tzname, když je volána _tzset:

Globální proměnná

Description

Výchozí hodnota

_daylight

Nenulová hodnota, pokud je v nastavení TZ určeno pásmo s letním časem, jinak 0.

1

_timezone

Rozdíl v sekundách mezi místním časem a UTC.

28800 (28800 sekund se rovná 8 hodin)

_tzname[0]

Řetězcová hodnota názvu časového pásma z proměnné prostředí TZ; prázdná, pokud TZ nebyla nastavena.

PST

_tzname[1]

Hodnota řetězce pásma letního času; prázdný, pokud je pásmo letního času vynecháno z proměnné prostředí TZ.

PDT

Výchozí hodnoty uvedené v předchozí tabulce pro _daylight a pole _tzname pole odpovídají „PST8PDT“. Pokud je zóna letního času vynechána z proměnné prostředí TZ, hodnota _daylight je 0 a funkce _ftime, gmtime a localtime vrátí 0 pro jejich příznaky letního času.

Požadavky

Rutina

Požadované záhlaví

_tzset

<time.h>

Další informace naleznete v tématu Kompatibilita.

Příklad

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

Ekvivalent v rozhraní .NET Framework

Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu Příklady vyvolání platformy.

Viz také

Referenční dokumentace

Správa času

asctime, _wasctime

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

time, _time32, _time64

_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64