Freigeben über


_tzset

Satzzeitumgebungsvariablen.

Wichtiger HinweisWichtig

Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW.

void _tzset( void );

Hinweise

Die _tzset-Funktion verwendet die aktuelle Einstellung der Umgebungsvariablen TZ, um Werte zu drei globalen Variablen zuzuweisen: _daylight, _timezone und _tzname.Diese Variablen werden durch die _ftime und localtime-Funktionen verwendet, um Korrekturen von der koordinierten Weltzeit (UTC) in Ortszeit zu erleichtern, und durch die Funktion, time UTC aus der Systemzeit zu berechnen.Verwenden Sie die folgende Syntax, um die TZ Umgebungsvariablen festzulegen:

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

  • tzn
    Dreibuchstabiger Zeitzonenname, wie PST.Sie müssen den richtigen Offset von Ortszeit in UTC angeben.

  • hh
    Unterschied in Stunden zwischen UTC und Ortszeit.Signieren Sie (+) optionales für positive Werte.

  • mm
    Minuten.Getrennt von hh durch einen Doppelpunkt (:).

  • ss
    Sekunden.Getrennt von mm durch einen Doppelpunkt (:).

  • dzn
    Dreibuchstabige Sommerzeitzone wie PDT.Wenn Sommerzeit nie in Wirklichkeit in der Stelle ist, legen Sie TZ ohne einen Wert für dzn fest.Die C-Laufzeitbibliothek übernimmt die der Vereinigten Staaten Regeln zum Implementieren der Berechnung der Sommerzeit an (DST).

HinweisHinweis

Planen Sie Sorgfalt an, wenn Sie den Zeitunterschiedes berechnen.Da der Zeitunterschied der Offset von Ortszeit in UTC (anstatt die Rückseite) ist, kann das Gegenteil von Zeichen sein, was Sie möglicherweise intuitiv erwarteten.Für Zeitzonen vor UTC, ist der Zeitunterschied negativ; für die hinter UTC, ist der Unterschied positiv.

Um beispielsweise die TZ Umgebungsvariable festlegen, um die aktuelle Zeitzone in Deutschland entspricht, geben Sie in der Befehlszeile Folgendes ein:

set TZ=GST-1GDT

Dieser Befehl verwendet, um GST deutsche Normalzeit anzugeben, akzeptiert, dass UTC eine Stunde oder hinter Deutschland (das heißt, ist dieses Deutschland eine Stunde vor UTC), ist, und nimmt an, dass Deutschland Sommerzeit achtet.

Wenn der TZ-Wert nicht festgelegt wird, versucht _tzset, die Zeitzoneninformationen zu verwenden, die durch das Betriebssystem festgelegt werden.Im Windows-Betriebssystem werden diese Informationen in der Datum/Uhrzeit-Anwendung in der Systemsteuerung angegeben.Wenn _tzset nicht erhalten kann diese Informationen, verwendet sie PST8PDT standardmäßig, das die Zeitzone Pacific angibt.

Auf Grundlage des TZ Umgebungsvariablenwert werden die folgenden Werte zu globalen Variablen _daylight, _timezone und _tzname zugewiesen, wenn _tzset aufgerufen wird:

Globale Variablen

Beschreibung

Standardwert

_daylight

ungleich 0 (null), wenn eine Sommerzeitzone beim Festlegen TZ angegeben wird; andernfalls 0.

1

_timezone

Unterschied in Sekunden zwischen Ortszeit und UTC.

28800 (28800 unterstützt gleich 8 Stunden)

_tzname[0]

Zeichenfolgenwert des Zeitzonennamens von TZ Umgebungsvariable; leer, wenn TZ nicht festgelegt wurde.

PST

_tzname[1]

Zeichenfolgenwert der Sommerzeitzone; leer, wenn Sommerzeitzone von TZ Umgebungsvariable weggelassen wird.

PDT

Die Standardwerte, die in der vorangehenden Tabelle für _daylight angezeigt werden und das _tzname Array entsprechen PST8PDT "." Wenn die DST-Zone aus der TZ Umgebungsvariable weggelassen wird, ist der Wert von _daylight 0 und _ftime, gmtime und localtime-Funktionsrückgabe 0 für ihre DST-Flags.

Anforderungen

Routine

Erforderlicher Header

_tzset

<time.h>

Weitere Informationen finden Sie unter Kompatibilität.

Beispiel

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

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Zeit-Verwaltung

asctime, _wasctime

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

Zeit, _time32, _time64

_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64