tzset(3) Library Functions Manual tzset(3) BEZEICHNUNG tzset, tzname, timezone, daylight - initialisiert Informationen zur Zeitumstellung (Sommer-/Winterzeit) BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include void tzset(void); extern char *tzname[2]; extern long timezone; extern int daylight; Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)): tzset(): _POSIX_C_SOURCE tzname: _POSIX_C_SOURCE timezone, daylight: _XOPEN_SOURCE || /* Glibc >= 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _SVID_SOURCE BESCHREIBUNG Die Funktion tzset() initialisiert die Variable tzname abhangig von der Umgebungsvariable TZ. Diese Funktion wird automatisch von den anderen Funktionen aufgerufen, die Zeiten in Abhangigkeit von der Zeitzone umrechnen. In einer System-V-artigen Umgebung werden auch die folgenden Variablen gesetzt: timezone (Sekunden westlich von UTC) sowie daylight (0, falls diese Zeitzone keine Sommerzeit hat oder ungleich 0, falls es eine Zeit in der Vergangenheit, Gegenwart oder Zukunft gibt, in der die Sommerzeit gilt). Sollte die Umgebungsvariable TZ nicht gesetzt sein, wird die Systemzeitzone verwandt. Die Systemzeitzone wird durch Kopieren oder Linken einer Datei im Format tzfile(5) nach /etc/localtime konfiguriert. Eine Zeitzonendatenbank dieser Dateien kann sich im Systemzeitzonenverzeichnis (siehe Abschnitt DATEIEN weiter unten) befinden. Falls die Umgebungsvariable TZ gesetzt ist, jedoch ihr Wert >>leer<< ist oder das Format (siehe unten) des Wertes nicht interpretiert werden kann, so wird die >>Coordinated Universal Time<< (UTC) benutzt. Der Wert von TZ kann in einem von zwei Formaten vorliegen. Das erste Format ist eine Zeichenkette, die direkt die zu verwendende Zeitzone reprasentiert: std offset[dst[Versatz][,start[/time],end[/time]]] Es gibt in der Spezifikation keine Leerzeichen. Die Zeichenkette std definiert die Abkurzung der Zeitzone. Sie besteht aus wenigstens drei Buchstaben. Wird die Zeichenmenge in kleiner als (<) und grosser als (>) eingeschlossen, so wird sie um das Pluszeichen (+), das Minuszeichen (-) und Ziffern erweitert. Die Zeichenkette Versatz folgt unmittelbar und beschreibt den Wert, der hinzu addiert werden muss, um Coordinated Universal Time (UTC) zu erhalten. Der Versatz ist positiv fur Zeitzonen westlich des Nullmeridians (Greenwich) und negativ fur Zeitzonen ostlich davon. Die Stunde muss zwischen 0 und 24 liegen, die Minuten zwischen 00 und 59, die Sekunden ebenfalls: [+|-]hh[:mm[:ss]] Die Zeichenketten dst und Versatz bezeichnen den Namen und den Versatz der zugehorigen Sommerzeit. Falls der Versatz weggelassen wird, wird die Sommerzeit als eine Stunde vor der Standardzeit angenommen. Das Feld start definiert den Beginn der Sommerzeit und end bezeichnet das Zuruckschalten zur Normalzeit. Diese Felder konnen die folgenden Formate haben: Jn Dies definiert den Julianischen Tag, wobei n zwischen 1 und 365 liegt. Schalttage werden nicht gezahlt. Der 29. Februar kann nicht dargestellt werden; der 28. Februar ist Tag 59, der 1. Marz ist immer Tag 60. n Dies definiert einen null-basierten Julianischen Tag, wobei n zwischen 0 und 365 liegt. Der 29. Februar wird in Schaltjahren gezahlt. Mm.w.d Dies beschreibt Tag d (0 <= d <= 6) in Woche w (1 <= w <= 5) von m (1 <= m <= 12). Woche 1 ist die erste Woche, in der Tag d vorkommt und Woche 5 ist die letzte Woche, in der Tag d vorkommt. Tag 0 ist ein Sonntag. Die time-Felder beschreiben in der gerade gultigen lokalen Zeit den Zeitpunkt, an dem der Wechsel zur anderen Zeit stattfindet. Ohne Angabe eines Wertes gilt die Voreinstellung 02:00:00. Hier ist ein Beispiel fur Neuseeland, wo die Standardzeit (NZST) 12 Stunden fruher als UTC und die Sommerzeit (NZDT) 13 Stunden fruher als UTC ist. Die Sommerzeit gilt vom ersten Sonntag im Oktober bis zum dritten Sonntag im Marz und die Wechsel finden zur voreingestellten Zeit von 02:00:00 Uhr statt: TZ="NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0" Das zweite Format gibt an, dass die Zeitzoneninformationen aus einer Datei gelesen werden sollen: :[filespec] Falls die Dateispezifikation filespec weggelassen wird oder der Wert nicht ausgewertet werden kann, wird Coordinated Universal Time (UTC) verwandt. Falls filespec angegeben ist, legt es eine andere tzfile(5)-Formatdatei fest, aus der die Zeitzoneninformationen gelesen werden. Falls filespec nicht mit einem >>/<< beginnt, ist die Dateispezifikation relativ zum Systemzeitzonenverzeichnis. Falls der Doppelpunkt nicht angegeben wird, wird jedes der obigen TZ-Formate versucht. Hier ist ein Beispiel, wiederum fur Neuseeland: TZ=":Pacific/Auckland" UMGEBUNGSVARIABLEN TZ Falls diese Variable gesetzt ist, hat ihr Wert gegenuber der im System konfigurierten Zeitzone Vorrang. TZDIR Falls diese Variable gesetzt ist, hat ihr Wert gegenuber dem im System konfigurierten Zeitzonendatenbankverzeichnispfad Vorrang. DATEIEN /etc/localtime Die Systemzeitzonendatei /usr/share/zoneinfo/ Das System-Zeitzonen-Datenbankverzeichnis /usr/share/zoneinfo/posixrules Wenn eine TZ-Zeichenkette eine dst-Zeitzone (Sommerzeitzeitzone) enthalt, der nichts folgt, dann wird diese Datei fur Anfangs- und Endregeln verwandt. Sie ist im tzfile(5)-Format. Standardmassig gibt es harte Links vom Zoneinfo-Makefile zu der Tz-Datei America/New_York. Oben sind die aktuellen Standarddateiorte angegeben. Diese sind aber beim Kompilieren der Glibc konfigurierbar. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +---------------------+-------------------------+----------------------+ |Schnittstelle | Attribut | Wert | +---------------------+-------------------------+----------------------+ |tzset() | Multithread-Fahigkeit | MT-Sicher env locale | +---------------------+-------------------------+----------------------+ STANDARDS POSIX.1-2008. GESCHICHTE POSIX.1-2001, SVr4, 4.3BSD. BSD4.3 beinhaltete eine Routine char *timezone(zone, dst), die den Namen der Zeitzone zuruckgab, der dem ersten Argument (Minuten westlich von UTC) entsprach. Wenn das zweite Argument 0 war, wurde der Standardname verwendet, ansonsten die Sommerzeit-Version. SIEHE AUCH date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Walter Harms , Dr. Tobias Quathamer , Martin Eberhard Schauer , Mario Blattermann und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 tzset(3)