table of contents
TZSET(3) | Linux-Programmierhandbuch | TZSET(3) |
BEZEICHNUNG¶
tzset, tzname, timezone, daylight - initialisiert Informationen zur Zeitumstellung (Sommer-/Winterzeit)ÜBERSICHT¶
#include <time.h>void tzset (void);extern char *tzname[2]; extern long timezone; extern int daylight;
Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):
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 des Jahres gibt, in der die Sommerzeit gilt). Sollte die Umgebungsvariable TZ nicht gesetzt sein, wird tzname mit bestmöglicher Näherung aus der lokalen Zeit der »Wanduhr« (local wall clock time) initialisiert. Dabei wird auf die Datei localtime im systemweiten Zeitzonenverzeichnis (siehe unten) zurückgegriffen, dessen Format in tzfile(5) beschrieben wird. (Man sieht häufig an dieser Stelle auch /etc/localtime, einen symbolischen Link zur richtigen Datei im Zeitzonenverzeichnis.) 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 drei Formaten vorliegen. Das erste Format wird benutzt, wenn in der lokalen Zeitzone keine Sommerzeit vorgesehen ist:std offset
std offset dst
[offset],start[/time],end[/time]
- 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.
TZ="NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0"Das dritte Format gibt an, dass die Zeitzoneninformationen aus einer Datei gelesen werden sollen:
:[filespec]
TZ=":Pacific/Auckland"
DATEIEN¶
Wo die Daten für die Zeitzonen gesucht werden, ist von der Version der (G)Libc abhängig. Libc4 und Libc5 verwenden /usr/lib/zoneinfo und wird seit libc-5.4.6 /usr/share/zoneinfo ausprobieren, wenn das fehlschlägt. Seit Glibc2 gilt: wenn die Variable TZDIR existiert, wird sie als Basisverzeichnis benutzt. Die Voreinstellung hängt von der Installation ab, ist jedoch meistens /usr/share/zoneinfo. Dieses Zeitzonenverzeichnis enthält die Dateienlocaltime lokale Zeitzonendatei posixrules Regeln für TZ nach POSIXHäufig ist /etc/localtime ein symbolischer Link auf die Datei localtime oder auf die korrekte Zeitzonendatei im systemweiten Zeitzonenverzeichnis.
KONFORM ZU¶
SVr4, POSIX.1-2001, 4.3BSD.ANMERKUNGEN¶
Beachten Sie bitte, dass die Variable daylight nicht bedeutet, dass im Moment Sommerzeit herrscht. Sie beschrieb früher die Nummer eines Algorithmus (siehe die Variable tz_dsttime in gettimeofday(2)). Sie ist seit vielen Jahren obsolet, wird jedoch von SUSv2 vorausgesetzt. 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.SIEHE AUCH¶
date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5)KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux- man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Walter Harms <walter.harms@informatik.uni-oldenburg.de>, Tobias Quathamer <toddy@debian.org> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.25. März 2012 |