Imported tab->space correction by redhat
[infodrom/manpages-de] / man3 / tzset.3
1 .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
2 .\"
3 .\" Permission is granted to make and distribute verbatim copies of this
4 .\" manual provided the copyright notice and this permission notice are
5 .\" preserved on all copies.
6 .\"
7 .\" Permission is granted to copy and distribute modified versions of this
8 .\" manual under the conditions for verbatim copying, provided that the
9 .\" entire resulting derived work is distributed under the terms of a
10 .\" permission notice identical to this one
11 .\" 
12 .\" Since the Linux kernel and libraries are constantly changing, this
13 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
14 .\" responsibility for errors or omissions, or for damages resulting from
15 .\" the use of the information contained herein.  The author(s) may not
16 .\" have taken the same level of care in the production of this manual,
17 .\" which is licensed free of charge, as they might when working
18 .\" professionally.
19 .\" 
20 .\" Formatted or processed versions of this manual, if unaccompanied by
21 .\" the source, must acknowledge the copyright and authors of this work.
22 .\"
23 .\" References consulted:
24 .\"     Linux libc source code
25 .\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
26 .\"     386BSD man pages
27 .\" Modified Sun Jul 25 11:01:58 1993 by Rik Faith (faith@cs.unc.edu)
28 .\" Modified 2001-11-13, aeb
29 .\" Translation into German by Walter Harms <walter.harms@informatik.uni-oldenburg.de>
30 .\"
31 .\"sync: man-pages 1.70
32 .\"
33 .TH TZSET 3 "13. November 2001" "" "Bibliotheksfunktionen"
34 .SH BEZEICHNUNG
35 tzset, tzname, timezone, daylight \- initialisiere Zeitzonen-Daten
36 .SH "ÜBERSICHT"
37 .B #include <time.h>
38 .sp
39 .B void tzset (void);
40 .sp
41 .BI "extern char *" tzname [2];
42 /* Zeitzonenname */
43 .br
44 .BI "extern long " timezone ;
45 /* Sommerzeit-Indikator */
46 .br
47 .BI "extern int " daylight ;
48 /* Abstand zu UTC */
49 .SH BESCHREIBUNG
50 Die Funktion
51 .B tzset
52 initialisiert
53 .BR tzname[] ,
54 .B daylight
55 und
56 .B timezone
57 abhängig
58 von der Umgebungsvariable
59 .IR TZ .
60 Diese Funktion wird automatisch von anderen Funktionen verwendet, die
61 Zeiten umrechnen und dazu Informationen zur Zeitzone benötigen.
62 In einer SysV-artigen Umgebung wird sie auch die Variablen
63 .I timezone
64 (Sekunden westlich von GMT) sowie
65 .I daylight
66 (0, falls diese Zeitzone keine Sommer-/Winterzeit-Regeln beinhaltet
67 und ungleich 0, falls es eine Zeit des Jahres gibt, in der
68 Sommer-/Winterzeit-Regeln greifen) setzen.
69
70 Sollte die TZ-Variable nicht gesetzt sein, wird
71 .I tzname
72 mit bestmöglicher
73 Näherung aus der lokalen "Wall Clock"-Zeit gesetzt.  Dabei wird auf die Datei
74 .I localtime
75 im systemweiten Zeitzonen-Verzeichnis (siehe unten) zurückgegriffen,
76 dessen Format in
77 .BR tzfile (5)
78 beschrieben wird.  (Man sieht häufig auch
79 .I /etc/localtime
80 an dieser Stelle, ein Symlink zur richtigen Datei im Zeitzonen-Verzeichnis.)
81
82 Wenn die TZ-Variable gesetzt ist, jedoch ihr Wert NULL ist oder der Wert
83 ein Format (siehe unten) hat, welches nicht interpretiert werden kann, so
84 wird "Coordinated Universal Time" (UTC) benutzt.
85
86 Das Programm kennt drei verschiede Formate für TZ.  Das erste Format wird
87 benutzt wenn in der Zeitzone keine Sommerzeit vorgesehen ist.
88 .sp
89 .RS
90 .I std offset
91 .RE
92 .sp
93 Die Zeichenkette
94 .I std
95 definiert den Namen der Zeitzone.  Er besteht aus wenigstens
96 drei Buchstaben.  Die Zeichenkette
97 .I offset
98 folgt unmittelbar und beschreibt den Wert, der hinzuaddiert werden
99 muss, um Coordinated Universal Time (UTC) zu erhalten.  Der
100 .I offset
101 ist positiv für Zeitzonen westlich vom Null-Meridian (Greenwich) und
102 negativ für Zeitzonen östlich davon.  Die Stunde muss zwischen 0 und
103 24 liegen, 
104 die Minuten zwischen 0 und 59, die Sekunden ebenfalls.
105 (Nicht alle Systeme machen das so: AIX kennt auch HH >> 24 )
106
107 Das zweite Format ermöglicht es die Sommerzeit mit zu definieren.
108 .sp
109 .RS
110 .I std offset dst [offset],start[/time],end[/time]
111 .RE
112 .sp
113 Es sind keine Leerzeichen zwischen den Elementen vorgesehen.
114 Die ursprünglichen Werte für
115 .I std
116 und
117 .I offset
118 spezifizieren die Zeitzone wie oben beschrieben.  Die Zeichenketten
119 .I dst
120 und
121 .I offset
122 bezeichnen den Namen
123 und Offset der Sommerzeit.  Ist der Offset weggelassen wird angenommen,
124 dass die Sommerzeit eine Stunde in der Zukunft liegt.
125
126 Das Feld
127 .I start
128 definiert den Beginn der Sommerzeit und
129 .I end
130 bezeichnet das
131 Zurückschalten zur Normalzeit.  Die Felder können das folgende Format haben:
132 .sp
133 .TP
134 .RI J n
135 Dies definiert einen Julianischen Tag, wobei
136 .I n
137 zwischen 1 und 365 liegt.
138 Der 29. Februar wird niemals gezählt, auch nicht in Schaltjahren.
139 .TP
140 .RI n
141 .\" FIXME: Wiederholung
142 Dies definiert einen Julianischen Tag, wobei
143 .I n
144 zwischen 1 und 365 liegt.
145 Der 29. Februar wird niemals gezählt, auch nicht in Schaltjahren.
146 .TP
147 .RI M m . w . d
148 Das definiert
149 .RS
150    \- den Tag
151 .I d
152 .RI "(0 <= " d " <= 6)"
153 .RE
154 .RS
155    \- der Woche
156 .I w
157 .RI "(1 <= " w " <= 5),"
158 in welcher der Tag
159 .I d
160 liegt,
161 .RE
162 .RS
163    \- des Monats
164 .I m
165 .RI "(1 <= " m " <= 12)."
166
167 Woche 1 ist die erste Woche, in der der Tag
168 .I d
169 vorkommt und Woche 5 ist die letzte Woche, in der der Tag
170 .I d
171 vorkommt.  Tag 0 bezeichnet den Sonntag.
172 .RE
173 .TP
174 Die
175 .IR time \-Felder beschreiben den Zeitpunkt der jeweils lokalen Zeit,
176 an dem umgeschaltet wird.  Wenn hier
177 nicht anders definiert gilt die Voreinstellung 02:00:00.
178 .PP
179 Das dritte Format besagt, dass die Zeitzonen-Information aus einer Datei
180 gelesen werden soll.
181 .sp
182 .RS
183 :[filespec]
184 .RE
185 .sp
186 Wird hier keine Datei angegeben, so wird die Datei
187 .I localtime
188 im Verzeichnis für die Zeitzonendateien gelesen.
189 Die Zeitzonendateien finden sich im Verzeichnis
190 .IR /usr/share/zoneinfo .
191 Das Dateiformat ist in
192 .BR tzfile (5)
193 dokumentiert.  Sollte
194 .I filespec
195 nicht mit einem `/' beginnen, so wird der Pfad relativ zum Verzeichnis
196 für Zeitzonendateien angenommen.
197 .SH DATEIEN
198 Wo die Daten für die Zeitzonen gesucht werden, ist von der (g)libc Version
199 abhängig.  Libc4 und libc5 verwenden
200 .I /usr/lib/zoneinfo
201 und wird seit libc-5.4.6
202 .I /usr/share/zoneinfo
203 probieren, wenn das fehlschlägt.
204 Seit Glibc2 gilt: wenn die Variable TZDIR existiert, wird sie als
205 Basisverzeichnis benutzt.  Die Voreinstellung hängt von der
206 Installation ab, bedeutet jedoch meistens
207 .IR /usr/share/zoneinfo .
208
209 Dieses Verzeichnis beinhaltet normalerweise folgende Dateien:
210 .TP
211 .I localtime 
212  \- lokale Zeitzonendaten
213 .TP
214 .I posixrules
215  \- Regeln für TZ nach POSIX
216 .PP
217 Häufig ist
218 .I /etc/localtime
219 ein Link auf die Datei
220 .I localtime oder auf die korrekte Zonendatei.
221 .SH "KONFORM ZU"
222 SVID 3, POSIX, BSD 4.3
223 .SH ANMERKUNGEN
224 Beachten Sie bitte, dass die Variable
225 .I daylight
226 nicht bedeutet, dass im Moment Sommerzeit herrscht.  Sie beschrieb
227 früher die Nummer eines Algorithmus (siehe Variable
228 .tz_dsttime
229 in
230 .BR gettimeofday (2)).
231 Sie ist seit mehreren Jahren obsolete, wird jedoch von SUSv2 vorausgesetzt.
232
233 BSD4.3 beinhaltete eine Routine
234 .BI "char *timezone(" zone , dst )\fR,
235 die den Namen der Zeitzone zurückgab, der dem ersten Argument (Minuten
236 westlich von GMT) entsprach.  Wenn das zweite Argument 0 war, wurde
237 der Standard-Name verwendet, andererseits die Sommerzeit-Version.
238 .SH SIEHE AUCH
239 .BR date (1),
240 .BR gettimeofday (2),
241 .BR time (2),
242 .BR ctime (3),
243 .BR getenv (3),
244 .BR tzfile (5).
245