Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
tzset, tzname, timezone, daylight - initialisiere Zeitzonen-Daten
Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
die englischsprachige Handbuchseite zu Rate, indem Sie
man -LC 3 tzset
eingeben.
"UBERSICHT
#include <time.h>
void tzset (void);
extern char *tzname[2]; /* Zeitzonenname */
extern long timezone; /* Sommerzeit-Indikator */
extern int daylight; /* Abstand zu UTC */
BESCHREIBUNG
Die Funktion tzset initialisiert tzname[], daylight und timezone
abhangig von der Umgebungsvariable TZ. Diese Funktion wird automatisch
von anderen Funktionen verwendet, die Zeiten umrechnen und dazu
Informationen zur Zeitzone benotigen. In einer SysV-artigen Umgebung
wird sie auch die Variablen timezone (Sekunden westlich von GMT) sowie
daylight (0, falls diese Zeitzone keine Sommer-/Winterzeit-Regeln
beinhaltet und ungleich 0, falls es eine Zeit des Jahres gibt, in der
Sommer-/Winterzeit-Regeln greifen) setzen.
Sollte die TZ-Variable nicht gesetzt sein, wird tzname mit
bestmoglicher Naherung aus der lokalen "Wall Clock"-Zeit gesetzt.
Dabei wird auf die Datei localtime im systemweiten Zeitzonen-
Verzeichnis (siehe unten) zuruckgegriffen, dessen Format in tzfile(5)
beschrieben wird. (Man sieht haufig auch /etc/localtime an dieser
Stelle, ein Symlink zur richtigen Datei im Zeitzonen-Verzeichnis.)
Wenn die TZ-Variable gesetzt ist, jedoch ihr Wert NULL ist oder der
Wert ein Format (siehe unten) hat, welches nicht interpretiert werden
kann, so wird "Coordinated Universal Time" (UTC) benutzt.
Das Programm kennt drei verschiede Formate fur TZ. Das erste Format
wird benutzt wenn in der Zeitzone keine Sommerzeit vorgesehen ist.
std offset
Die Zeichenkette std definiert den Namen der Zeitzone. Er besteht aus
wenigstens drei Buchstaben. Die Zeichenkette offset folgt unmittelbar
und beschreibt den Wert, der hinzuaddiert werden muss, um Coordinated
Universal Time (UTC) zu erhalten. Der offset ist positiv fur Zeitzonen
westlich vom Null-Meridian (Greenwich) und negativ fur Zeitzonen
ostlich davon. Die Stunde muss zwischen 0 und 24 liegen, die Minuten
zwischen 0 und 59, die Sekunden ebenfalls. (Nicht alle Systeme machen
das so: AIX kennt auch HH >> 24 )
Das zweite Format ermoglicht es die Sommerzeit mit zu definieren.
std offset dst [offset],start[/time],end[/time]
Es sind keine Leerzeichen zwischen den Elementen vorgesehen. Die
ursprunglichen Werte fur std und offset spezifizieren die Zeitzone wie
oben beschrieben. Die Zeichenketten dst und offset bezeichnen den
Namen und Offset der Sommerzeit. Ist der Offset weggelassen wird
angenommen, dass die Sommerzeit eine Stunde in der Zukunft liegt.
Das Feld start definiert den Beginn der Sommerzeit und end bezeichnet
das Zuruckschalten zur Normalzeit. Die Felder konnen das folgende
Format haben:
Jn Dies definiert einen Julianischen Tag, wobei n zwischen 1 und
365 liegt. Der 29. Februar wird niemals gezahlt, auch nicht in
Schaltjahren.
n Dies definiert einen Julianischen Tag, wobei n zwischen 1 und
365 liegt. Der 29. Februar wird niemals gezahlt, auch nicht in
Schaltjahren.
Mm.w.d Das definiert
- den Tag d (0 <= d <= 6)
- der Woche w (1 <= w <= 5), in welcher der Tag d liegt,
- des Monats m (1 <= m <= 12).
Woche 1 ist die erste Woche, in der der Tag d vorkommt und Woche
5 ist die letzte Woche, in der der Tag d vorkommt. Tag 0
bezeichnet den Sonntag.
Die time-FelderbeschreibendenZeitpunktderjeweilslokalenZeit, an dem
umgeschaltet wird. Wenn hier nicht anders definiert gilt die
Voreinstellung 02:00:00.
Das dritte Format besagt, dass die Zeitzonen-Information aus einer
Datei gelesen werden soll.
:[filespec]
Wird hier keine Datei angegeben, so wird die Datei localtime im
Verzeichnis fur die Zeitzonendateien gelesen. Die Zeitzonendateien
finden sich im Verzeichnis /usr/share/zoneinfo. Das Dateiformat ist in
tzfile(5) dokumentiert. Sollte filespec nicht mit einem `/' beginnen,
so wird der Pfad relativ zum Verzeichnis fur Zeitzonendateien
angenommen.
DATEIEN
Wo die Daten fur die Zeitzonen gesucht werden, ist von der (g)libc
Version abhangig. Libc4 und libc5 verwenden /usr/lib/zoneinfo und wird
seit libc-5.4.6 /usr/share/zoneinfo probieren, wenn das fehlschlagt.
Seit Glibc2 gilt: wenn die Variable TZDIR existiert, wird sie als
Basisverzeichnis benutzt. Die Voreinstellung hangt von der
Installation ab, bedeutet jedoch meistens /usr/share/zoneinfo.
Dieses Verzeichnis beinhaltet normalerweise folgende Dateien:
localtime
- lokale Zeitzonendaten
posixrules
- Regeln fur TZ nach POSIX
Haufig ist /etc/localtime ein Link auf die Datei localtime oder auf die
korrekte Zonendatei.
KONFORM ZU
SVID 3, POSIX, BSD 4.3
ANMERKUNGEN
Beachten Sie bitte, dass die Variable daylight nicht bedeutet, dass im
Moment Sommerzeit herrscht. Sie beschrieb fruher die Nummer eines
Algorithmus (siehe Variable in gettimeofday(2)). Sie ist seit mehreren
Jahren obsolete, wird jedoch von SUSv2 vorausgesetzt.
BSD4.3 beinhaltete eine Routine char *timezone(zone,dst), die den Namen
der Zeitzone zuruckgab, der dem ersten Argument (Minuten westlich von
GMT) entsprach. Wenn das zweite Argument 0 war, wurde der Standard-
Name verwendet, andererseits die Sommerzeit-Version.
SIEHE AUCH
date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5).
13. November 2001 TZSET(3)