Udostępnij za pośrednictwem


_tzset

Ustawia czas zmiennych środowiskowych.

Ważna uwagaWaż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.

Zobacz też

Informacje

Zarządzanie czasem

asctime, _wasctime

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

time, _time32, _time64

_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64