Provided by: manpages-de-dev_4.26.0-1_all 

BEZEICHNUNG
tzset, tzname, timezone, daylight - initialisiert Informationen zur Zeitumstellung (Sommer-/Winterzeit)
BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT
#include <time.h>
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 abhängig von der Umgebungsvariable TZ. Diese
Funktion wird automatisch von den anderen Funktionen aufgerufen, die Zeiten in Abhängigkeit 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).
Die Funktion tzset() initialisiert diese Variablen auf nicht festgelegte Werte, falls diese Zeitzone eine
geographische Zeitzone wie »America/New_York« ist (siehe unten).
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.
Ein nicht leerer Wert von TZ kann in einem von zwei Formaten vorliegen. Jedem kann ein Doppelpunkt
vorangestellt werden, der ignoriert wird. Das erste Format ist eine Zeichenkette, die direkt die zu
verwendende Zeitzone repräsentiert:
std offset[dst[Versatz][,start[/time],end[/time]]]
Es gibt in der Spezifikation keine Leerzeichen. Die Zeichenkette std definiert die Abkürzung der
Zeitzone. Sie besteht aus wenigstens drei Buchstaben. Wird die Zeichenmenge in kleiner als (<) und größer
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 für Zeitzonen westlich des
Nullmeridians (Greenwich) und negativ für Zeitzonen östlich 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 zugehörigen 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 Zurückschalten zur Normalzeit.
Diese Felder können die folgenden Formate haben:
Jn Dies definiert den Julianischen Tag, wobei n zwischen 1 und 365 liegt. Schalttage werden nicht
gezählt. Der 29. Februar kann nicht dargestellt werden; der 28. Februar ist Tag 59, der 1. März
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 gezählt.
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 gültigen lokalen Zeit den Zeitpunkt, an dem der Wechsel zur
anderen Zeit stattfindet. Sie verwenden das gleiche Format als Versatz, außer dass die Stunde im Bereich
[-167, 167] liegen kann, um Zeiten vor und nach dem benannten Tag darzustellen. Ohne Angabe eines Wertes
gilt die Voreinstellung 02:00:00.
Hier ist ein Beispiel für Neuseeland, wo die Standardzeit (NZST) 12 Stunden früher als UTC und die
Sommerzeit (NZDT) 13 Stunden früher als UTC ist. Die Sommerzeit gilt vom letzten Sonntag im September bis
zum ersten Sonntag im April und die Wechsel finden zur voreingestellten Zeit von 02:00:00 Uhr statt:
TZ="NZST-12:00:00NZDT-13:00:00,M9.5.0,M4.1.0/3"
Das zweite – oder »geographische« – Format gibt an, dass die Zeitzoneninformationen aus einer Datei
gelesen werden sollen:
Dateispezifikation
Das Dateispezifikation legt eine tzfile(5)-Formatdatei fest, aus der die Zeitzoneninformation gelesen
werden soll. Falls Dateispezifikation nicht mit einem »/« beginnt, ist die Dateispezifikation relativ zum
System-Zeitzonenverzeichnis. Falls die angegebene Datei nicht gelesen oder interpretiert werden kann,
wird koordinierte Weltzeit (UTC) verwandt; allerdings sollten sich Anwendungen nicht darauf verlassen,
dass eine zufällige Dateispezifikation für UTC steht, da TZ-Formate in der Zukunft erweitert werden
könnten.
Hier ist ein Beispiel, wiederum für Neuseeland:
TZ="Pacific/Auckland"
UMGEBUNGSVARIABLEN
TZ Falls diese Variable gesetzt ist, hat ihr Wert gegenüber der im System konfigurierten Zeitzone
Vorrang.
TZDIR Falls diese Variable gesetzt ist, hat ihr Wert gegenüber 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) enthält, der nichts folgt, dann
wird diese Datei für Anfangs- und Endregeln verwandt. Sie ist im tzfile(5)-Format. Standardmäßig
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) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
┌────────────────────────────────────────────────────────┬───────────────────────┬──────────────────────┐
│ Schnittstelle │ Attribut │ Wert │
├────────────────────────────────────────────────────────┼───────────────────────┼──────────────────────┤
│ tzset() │ Multithread-Fähigkeit │ MT-Sicher env locale │
└────────────────────────────────────────────────────────┴───────────────────────┴──────────────────────┘
STANDARDS
POSIX.1-2024.
GESCHICHTE
tzset()
tzname POSIX.1-1988, SVr4, 4.3BSD.
timezone
daylight
POSIX.1-2001 (XSI), SVr4, 4.3BSD.
BSD4.3 beinhaltete eine Routine char *timezone(zone, dst), die den Namen der Zeitzone zurückgab, der dem
ersten Argument (Minuten westlich von UTC) entsprach. Wenn das zweite Argument 0 war, wurde der
Standardname verwendet, ansonsten die Sommerzeit-Version.
WARNUNGEN
Da die Werte von tzname, timezone und daylight oft nicht spezifiziert sind und ein Zugriff darauf zu
undefiniertem Verhalten im Multithread-Anwendungen führen kann, sollte der Code stattdessen den
Zeitzonenversatz und die Abkürzungen aus den Mitgliedern tm_gmtoff und tm_zone aus der
heruntergebrochenen Zeitstruktur tm(3type) ermitteln.
SIEHE AUCH
date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Walter Harms <walter.harms@informatik.uni-
oldenburg.de>, Dr. Tobias Quathamer <toddy@debian.org>, Martin Eberhard Schauer
<Martin.E.Schauer@gmx.de>, Mario Blättermann <mario.blaettermann@gmail.com> und Helge Kreutzmann
<debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer.
Linux man-pages 6.9.1 12. Juni 2024 tzset(3)