File: tzset.3

package info (click to toggle)
manpages-de 0.7-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 3,188 kB
  • ctags: 9
  • sloc: makefile: 83; perl: 61
file content (245 lines) | stat: -rw-r--r-- 7,173 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\" 
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\" 
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\" References consulted:
.\"     Linux libc source code
.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\"     386BSD man pages
.\" Modified Sun Jul 25 11:01:58 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2001-11-13, aeb
.\" Translation into German by Walter Harms <walter.harms@informatik.uni-oldenburg.de>
.\"
.\"sync: man-pages 1.70
.\"
.TH TZSET 3 "13. November 2001" "" "Bibliotheksfunktionen"
.SH BEZEICHNUNG
tzset, tzname, timezone, daylight \- initialisiere Zeitzonen-Daten
.SH "ÜBERSICHT"
.B #include <time.h>
.sp
.B void tzset (void);
.sp
.BI "extern char *" tzname [2];
/* Zeitzonenname */
.br
.BI "extern long " timezone ;
/* Sommerzeit-Indikator */
.br
.BI "extern int " daylight ;
/* Abstand zu UTC */
.SH BESCHREIBUNG
Die Funktion
.B tzset
initialisiert
.BR tzname[] ,
.B daylight
und
.B timezone
abhängig
von der Umgebungsvariable
.IR TZ .
Diese Funktion wird automatisch von anderen Funktionen verwendet, die
Zeiten umrechnen und dazu Informationen zur Zeitzone benötigen.
In einer SysV-artigen Umgebung wird sie auch die Variablen
.I timezone
(Sekunden westlich von GMT) sowie
.I 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
.I tzname
mit bestmöglicher
Näherung aus der lokalen "Wall Clock"-Zeit gesetzt.  Dabei wird auf die Datei
.I localtime
im systemweiten Zeitzonen-Verzeichnis (siehe unten) zurückgegriffen,
dessen Format in
.BR tzfile (5)
beschrieben wird.  (Man sieht häufig auch
.I /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 für TZ.  Das erste Format wird
benutzt wenn in der Zeitzone keine Sommerzeit vorgesehen ist.
.sp
.RS
.I std offset
.RE
.sp
Die Zeichenkette
.I std
definiert den Namen der Zeitzone.  Er besteht aus wenigstens
drei Buchstaben.  Die Zeichenkette
.I offset
folgt unmittelbar und beschreibt den Wert, der hinzuaddiert werden
muss, um Coordinated Universal Time (UTC) zu erhalten.  Der
.I offset
ist positiv für Zeitzonen westlich vom Null-Meridian (Greenwich) und
negativ für Zeitzonen östlich 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 ermöglicht es die Sommerzeit mit zu definieren.
.sp
.RS
.I std offset dst [offset],start[/time],end[/time]
.RE
.sp
Es sind keine Leerzeichen zwischen den Elementen vorgesehen.
Die ursprünglichen Werte für
.I std
und
.I offset
spezifizieren die Zeitzone wie oben beschrieben.  Die Zeichenketten
.I dst
und
.I 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
.I start
definiert den Beginn der Sommerzeit und
.I end
bezeichnet das
Zurückschalten zur Normalzeit.  Die Felder können das folgende Format haben:
.sp
.TP
.RI J n
Dies definiert einen Julianischen Tag, wobei
.I n
zwischen 1 und 365 liegt.
Der 29. Februar wird niemals gezählt, auch nicht in Schaltjahren.
.TP
.RI n
.\" FIXME: Wiederholung
Dies definiert einen Julianischen Tag, wobei
.I n
zwischen 1 und 365 liegt.
Der 29. Februar wird niemals gezählt, auch nicht in Schaltjahren.
.TP
.RI M m . w . d
Das definiert
.RS
   \- den Tag
.I d
.RI "(0 <= " d " <= 6)"
.RE
.RS
   \- der Woche
.I w
.RI "(1 <= " w " <= 5),"
in welcher der Tag
.I d
liegt,
.RE
.RS
   \- des Monats
.I m
.RI "(1 <= " m " <= 12)."

Woche 1 ist die erste Woche, in der der Tag
.I d
vorkommt und Woche 5 ist die letzte Woche, in der der Tag
.I d
vorkommt.  Tag 0 bezeichnet den Sonntag.
.RE
.TP
Die
.IR time \-Felder beschreiben den Zeitpunkt der jeweils lokalen Zeit,
an dem umgeschaltet wird.  Wenn hier
nicht anders definiert gilt die Voreinstellung 02:00:00.
.PP
Das dritte Format besagt, dass die Zeitzonen-Information aus einer Datei
gelesen werden soll.
.sp
.RS
:[filespec]
.RE
.sp
Wird hier keine Datei angegeben, so wird die Datei
.I localtime
im Verzeichnis für die Zeitzonendateien gelesen.
Die Zeitzonendateien finden sich im Verzeichnis
.IR /usr/share/zoneinfo .
Das Dateiformat ist in
.BR tzfile (5)
dokumentiert.  Sollte
.I filespec
nicht mit einem `/' beginnen, so wird der Pfad relativ zum Verzeichnis
für Zeitzonendateien angenommen.
.SH DATEIEN
Wo die Daten für die Zeitzonen gesucht werden, ist von der (g)libc Version
abhängig.  Libc4 und libc5 verwenden
.I /usr/lib/zoneinfo
und wird seit libc-5.4.6
.I /usr/share/zoneinfo
probieren, 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, bedeutet jedoch meistens
.IR /usr/share/zoneinfo .

Dieses Verzeichnis beinhaltet normalerweise folgende Dateien:
.TP
.I localtime 
 \- lokale Zeitzonendaten
.TP
.I posixrules
 \- Regeln für TZ nach POSIX
.PP
Häufig ist
.I /etc/localtime
ein Link auf die Datei
.I localtime oder auf die korrekte Zonendatei.
.SH "KONFORM ZU"
SVID 3, POSIX, BSD 4.3
.SH ANMERKUNGEN
Beachten Sie bitte, dass die Variable
.I daylight
nicht bedeutet, dass im Moment Sommerzeit herrscht.  Sie beschrieb
früher die Nummer eines Algorithmus (siehe Variable
.tz_dsttime
in
.BR gettimeofday (2)).
Sie ist seit mehreren Jahren obsolete, wird jedoch von SUSv2 vorausgesetzt.

BSD4.3 beinhaltete eine Routine
.BI "char *timezone(" zone , dst )\fR,
die den Namen der Zeitzone zurückgab, der dem ersten Argument (Minuten
westlich von GMT) entsprach.  Wenn das zweite Argument 0 war, wurde
der Standard-Name verwendet, andererseits die Sommerzeit-Version.
.SH SIEHE AUCH
.BR date (1),
.BR gettimeofday (2),
.BR time (2),
.BR ctime (3),
.BR getenv (3),
.BR tzfile (5).