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)):

tzset(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
tzname: _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
timezone: _SVID_SOURCE || _XOPEN_SOURCE
daylight: _SVID_SOURCE || _XOPEN_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).

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 repräsentiert:

    std offset[dst[offset][,start[/time],end[/time]]]

There are no spaces in the specification. The std string specifies an abbreviation for the timezone and must be three or more alphabetic characters. When enclosed between the less-than (<) and greater-than (>) signs, the characters set is expanded to include the plus (+) sign, the minus (-) sign, and digits. The offset string immediately follows std and specifies the time value to be added to the local time to get Coordinated Universal Time (UTC). The offset is positive if the local timezone is west of the Prime Meridian and negative if it is east. The hour must be between 0 and 24, and the minutes and seconds 00 and 59:

    [+|-]hh[:mm[:ss]]

The dst string and offset specify the name and offset for the corresponding daylight saving timezone. If the offset is omitted, it defaults to one hour ahead of standard time.

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. 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 ersten Sonntag im Oktober bis zum dritten Sonntag im März 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]

If the file specification filespec is omitted, or its value cannot be interpreted, then Coordinated Universal Time (UTC) is used. If filespec is given, it specifies another tzfile(5)-format file to read the timezone information from. If filespec does not begin with a '/', the file specification is relative to the system timezone directory. If the colon is omitted each of the above TZ formats will be tried.

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 Systemzeitzonendatenbankverzeichnis

/usr/share/zoneinfo/posixrules
    When a TZ string includes a dst timezone without anything following it, then this file is used for the start/end rules. It is in the tzfile(5) format. By default, the zoneinfo Makefile hard links it to the America/New_York tzfile.

Oben sind die aktuellen Standarddateiorte angegeben. Diese sind aber beim Übersetzen 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-Safe env locale

KONFORM ZU
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

ANMERKUNGEN

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 4.04 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite 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>, 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 <debian-l10n-german@lists.debian.org>.