Lines Matching +full:non +full:- +full:overlap +full:- +full:time

2 .\" 1996-06-05 by Arthur David Olson.
15 Each file is a sequence of 8-bit bytes.
17 more bytes in network order (bigendian, or high-order byte first),
20 and a boolean is represented by a one-byte binary integer that is
22 The format begins with a 44-byte header containing the following fields:
24 .Bl -bullet
26 The magic four-byte ASCII sequence
39 Six four-byte integer values, in the following order:
41 .Bl -tag -compat -width tzh_ttisstdcnt
44 (UT is Universal Time.)
53 The number of local time types for which data entries are stored
56 The number of bytes of time zone abbreviation strings
63 .Bl -tag -compat -width tzh_timecnt
65 four-byte signed integer values sorted in ascending order.
67 Each is used as a transition time (as returned by
68 .Xt time 2 )
69 at which the rules for computing local time change.
71 one-byte unsigned integer values;
72 each one but the last tells which of the different types of local time types
73 described in the file is associated with the time period
74 starting with the same-indexed transition time
75 and continuing up to but not including the next transition time.
76 (The last time type is present only for consistency checking with the
83 .Bd -literal -offset indent
91 Each structure is written as a four-byte signed integer value for
93 in network byte order, followed by a one-byte boolean for
95 and a one-byte value for
107 serves as an index into the array of time zone abbreviation bytes
110 entries in the file; if the designated string is "\-00", the
112 entry is a placeholder indicating that local time is unspecified.
115 value is never equal to \-2**31, to let 32-bit clients negate it without
119 is in the range [\-89999, 93599] (i.e., more than \-25 hours and less
121 already support the POSIX-required range [\-24:59:59, 25:59:59].
123 bytes that represent time zone designations,
124 which are null-terminated byte strings, each indexed by the
127 The byte strings can overlap if one is a suffix of the other.
130 pairs of four-byte values, written in network byte order;
131 the first value of each pair gives the non-negative time
133 .Xr time 3 )
137 number of leap seconds to be applied during the time period
138 starting at the given time.
139 The pairs of values are sorted in strictly ascending order by time.
142 the last pair denotes the leap second table's expiration time.
144 The first leap second has a non-negative occurrence time,
148 or \-1 for a negative leap second.
149 If the leap second table is empty, the leap-second correction is zero
151 otherwise, for timestamps before the first occurrence time,
152 the leap-second correction is zero if the first pair's correction is 1 or \-1,
156 standard/wall indicators, each stored as a one-byte boolean;
157 they tell whether the transition times associated with local time types
158 were specified as standard time or local (wall clock) time.
160 UT/local indicators, each stored as a one-byte boolean;
161 they tell whether the transition times associated with local time types
162 were specified as UT or local time.
169 for another time zone specified via
171 For example, when TZ="EET\-2EEST" and there is no TZif file "EET\-2EEST",
173 well-known name "posixrules" that is present only for this purpose and
176 the default rules are installation-dependent, and no implementation
178 so users desiring (say) Greek time should instead specify
180 TZ="EET\-2EEST,M3.5.0/3,M10.5.0/4" if POSIX conformance is required
191 is zero or the time argument is less than the first transition time recorded
194 For version-2-format timezone files,
197 eight bytes are used for each transition time or leap second time.
199 After the second header and data comes a newline-enclosed string
202 after the last transition time stored in the file
206 If non-empty, the TZ string must agree with the local time
207 type after the last transition time if present in the eight-byte data;
210 then if a last transition time is in July, the transition's local time
211 type must specify a daylight-saving time abbreviated
214 Also, if there is at least one transition, time type 0 is associated
215 with the time period from the indefinite past up to but not including
216 the earliest transition time.
218 For version-3-format timezone files, a TZ string (see
220 may use the following POSIX.1-2024 extensions to POSIX.1-2017:
221 First, as in TZ="<\-02>2<\-01>,M3.5.0/\-1,M10.5.0/0",
223 \-167 through 167 instead of being limited to unsigned values
227 between daylight saving and standard time.
229 For version-4-format TZif files,
231 +1 nor \-1, to represent truncation of the TZif file at the start.
237 the added leap seconds will change how post-expiration timestamps are treated.
257 The sequence of time changes defined by the version 1
258 header and data block should be a contiguous sub-sequence
259 of the time changes defined by the version 2+ header and data
263 contiguous sub-sequence.
271 time, TZif readers should either refuse to process
272 post-expiration timestamps, or process them as if the expiration
273 time did not exist (possibly with an error indication).
275 Time zone designations should consist of at least three (3)
278 .Dq "\-" ,
282 time zone abbreviations.
304 .Bl -bullet
323 newer-version data useful even for older-version readers.
329 .Bl -bullet
340 they cannot parse the POSIX.1-2024 extensions to POSIX.1-2017
343 than necessary, so that only far-future timestamps are
347 permanent daylight saving time with transitions after 24:00
350 denoting permanent Eastern Daylight Time
351 (\-04).
352 As a workaround, a writer can substitute standard time
353 for two time zones east, e.g.,
355 for a time zone with a never-used standard time (XXX, \-03)
356 and negative daylight saving time (EDT, \-04) all year.
358 as a partial workaround, a writer can substitute standard time
359 for the next time zone east \(en e.g.,
362 Atlantic Standard Time (\-04).
369 timestamps from the time type of the last transition.
373 Some stripped-down readers ignore everything but the footer,
381 .Dq <+01>\-1 ,
385 Some readers do not use time type 0 for timestamps before
386 the first transition, in that they infer a time type using a
387 heuristic that does not always select time type 0.
388 As a partial workaround, a writer can output a dummy (no-op)
389 first transition at an early time.
392 transition that has a timestamp that is not less than \-2**31.
393 Readers that support only 32-bit timestamps are likely to be
395 64-bit transitions only some of which are representable in 32
398 transition at timestamp \-2**31.
401 the minimum possible signed 64-bit value.
402 Timestamps less than \-2**59 are not recommended.
413 for time zone abbreviations containing only alphabetic
416 Many readers mishandle time zone abbreviations that contain
417 non-ASCII characters.
420 Some readers may mishandle time zone abbreviations that
423 .Dq "\-",
429 daylight-saving time UT offsets that are less than the UT
430 offsets for the corresponding standard time.
433 .Dq "IST\-1GMT0,M10.5.0,M3.5.0/1",
434 observing standard time
435 (IST, +01) in summer and daylight saving time (GMT, +00) in winter.
439 thus swapping standard and daylight saving time.
441 uses daylight saving time, it records UT offsets and time zone
447 a positive leap second 78796801 (1972-06-30 23:59:60 UTC), some readers will
448 map both 78796800 and 78796801 to 01:23:45 local time the next day
458 .Bl -bullet
462 in mind if they need to deal with pre-1970 data.
465 transition that has a non-negative timestamp.
469 Some readers mishandle time zone abbreviations like
470 .Dq "\-08"
473 .Dq "\-",
477 traditional range of \-12 through +12 hours, and so do not
481 Some readers mishandle UT offsets in the range [\-3599, \-1]
482 seconds from UT because they integer-divide the offset by
490 .Xr time 3 ,
500 .%T "The Time Zone Information Format (TZif)"