| |
|
| |
|
|
|
| |
|
|
|
| |
|
|
|
| |
|
|
|
| |
Internet Engineering Task Force (IETF) A.D. Olson
|
|
Internet Engineering Task Force (IETF) A.D. Olson
|
| |
Internet-Draft
|
|
Internet-Draft
|
| |
Obsoletes: 8536 (if approved) P. Eggert
|
|
Obsoletes: 8536 (if approved) P. Eggert
|
| |
Intended status: Standards Track UCLA
|
|
Intended status: Standards Track UCLA
|
| |
Expires: 8 September 2023 K. Murchison
|
|
Expires: 9 September 2023 K. Murchison
|
| |
Fastmail
|
|
Fastmail
|
| |
7 March 2023
|
|
8 March 2023
|
| |
|
|
|
| |
|
|
|
| |
The Time Zone Information Format (TZif)
|
|
The Time Zone Information Format (TZif)
|
| |
draft-murchison-rfc8536bis-06
|
|
draft-murchison-rfc8536bis-07
|
| |
|
|
|
| |
Abstract
|
|
Abstract
|
| |
|
|
|
| |
This document specifies the Time Zone Information Format (TZif) for
|
|
This document specifies the Time Zone Information Format (TZif) for
|
| |
representing and exchanging time zone information, independent of any
|
|
representing and exchanging time zone information, independent of any
|
| |
particular service or protocol. Two media types for this format are
|
|
particular service or protocol. Two media types for this format are
|
| |
also defined.
|
|
also defined.
|
| |
|
|
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
working documents as Internet-Drafts. The list of current Internet-
|
|
working documents as Internet-Drafts. The list of current Internet-
|
| |
Drafts is at https://datatracker.ietf.org/drafts/current/.
|
|
Drafts is at https://datatracker.ietf.org/drafts/current/.
|
| |
|
|
|
| |
Internet-Drafts are draft documents valid for a maximum of six months
|
|
Internet-Drafts are draft documents valid for a maximum of six months
|
| |
and may be updated, replaced, or obsoleted by other documents at any
|
|
and may be updated, replaced, or obsoleted by other documents at any
|
| |
time. It is inappropriate to use Internet-Drafts as reference
|
|
time. It is inappropriate to use Internet-Drafts as reference
|
| |
material or to cite them other than as "work in progress."
|
|
material or to cite them other than as "work in progress."
|
| |
|
|
|
| |
This Internet-Draft will expire on 8 September 2023.
|
|
This Internet-Draft will expire on 9 September 2023.
|
| |
|
|
|
| |
Copyright Notice
|
|
Copyright Notice
|
| |
|
|
|
| |
Copyright (c) 2023 IETF Trust and the persons identified as the
|
|
Copyright (c) 2023 IETF Trust and the persons identified as the
|
| |
document authors. All rights reserved.
|
|
document authors. All rights reserved.
|
| |
|
|
|
| |
This document is subject to BCP 78 and the IETF Trust's Legal
|
|
This document is subject to BCP 78 and the IETF Trust's Legal
|
| |
Provisions Relating to IETF Documents (https://trustee.ietf.org/
|
|
Provisions Relating to IETF Documents (https://trustee.ietf.org/
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
Table of Contents
|
|
Table of Contents
|
| |
|
|
|
| |
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
|
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
|
| |
2. Conventions Used in This Document . . . . . . . . . . . . . . 3
|
|
2. Conventions Used in This Document . . . . . . . . . . . . . . 3
|
| |
3. The Time Zone Information Format (TZif) . . . . . . . . . . . 5
|
|
3. The Time Zone Information Format (TZif) . . . . . . . . . . . 5
|
| |
3.1. TZif Header . . . . . . . . . . . . . . . . . . . . . . . 6
|
|
3.1. TZif Header . . . . . . . . . . . . . . . . . . . . . . . 6
|
| |
3.2. TZif Data Block . . . . . . . . . . . . . . . . . . . . . 8
|
|
3.2. TZif Data Block . . . . . . . . . . . . . . . . . . . . . 8
|
| |
3.3. TZif Footer . . . . . . . . . . . . . . . . . . . . . . . 12
|
|
3.3. TZif Footer . . . . . . . . . . . . . . . . . . . . . . . 12
|
| |
|
|
3.3.1. All-Year Daylight Saving Time . . . . . . . . . . . . 13
|
| |
3.3.1. TZ String Extensions . . . . . . . . . . . . . . . . 13
|
|
3.3.2. TZ String Extension . . . . . . . . . . . . . . . . . 13
|
| |
4. Interoperability Considerations . . . . . . . . . . . . . . . 13
|
|
4. Interoperability Considerations . . . . . . . . . . . . . . . 14
|
| |
5. Use with the Time Zone Data Distribution Service . . . . . . 15
|
|
5. Use with the Time Zone Data Distribution Service . . . . . . 15
|
| |
5.1. Truncating TZif Files . . . . . . . . . . . . . . . . . . 15
|
|
5.1. Truncating TZif Files . . . . . . . . . . . . . . . . . . 16
|
| |
5.2. Example TZDIST Request for TZif Data . . . . . . . . . . 16
|
|
5.2. Example TZDIST Request for TZif Data . . . . . . . . . . 16
|
| |
6. Security Considerations . . . . . . . . . . . . . . . . . . . 18
|
|
6. Security Considerations . . . . . . . . . . . . . . . . . . . 18
|
| |
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 18
|
|
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 18
|
| |
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
|
|
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
|
| |
8.1. application/tzif . . . . . . . . . . . . . . . . . . . . 18
|
|
8.1. application/tzif . . . . . . . . . . . . . . . . . . . . 18
|
| |
8.2. application/tzif-leap . . . . . . . . . . . . . . . . . . 19
|
|
8.2. application/tzif-leap . . . . . . . . . . . . . . . . . . 19
|
| |
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 21
|
|
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 21
|
| |
9.1. Normative References . . . . . . . . . . . . . . . . . . 21
|
|
9.1. Normative References . . . . . . . . . . . . . . . . . . 21
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
Appendix A. Common Interoperability Issues . . . . . . . . . . . 23
|
|
Appendix A. Common Interoperability Issues . . . . . . . . . . . 23
|
| |
Appendix B. Example TZif Files . . . . . . . . . . . . . . . . . 26
|
|
Appendix B. Example TZif Files . . . . . . . . . . . . . . . . . 26
|
| |
B.1. Version 1 File Representing UTC (with Leap Seconds) . . . 26
|
|
B.1. Version 1 File Representing UTC (with Leap Seconds) . . . 26
|
| |
B.2. Version 2 File Representing Pacific/Honolulu . . . . . . 32
|
|
B.2. Version 2 File Representing Pacific/Honolulu . . . . . . 32
|
| |
B.3. Truncated Version 3 File Representing Asia/Jerusalem . . 39
|
|
B.3. Truncated Version 3 File Representing Asia/Jerusalem . . 39
|
| |
B.4. Truncated Version 4 File Representing America/New_York . 41
|
|
B.4. Truncated Version 4 File Representing America/New_York . 41
|
| |
Appendix C. Changes from RFC 8536 . . . . . . . . . . . . . . . 44
|
|
Appendix C. Changes from RFC 8536 . . . . . . . . . . . . . . . 44
|
| |
Appendix D. Change Log . . . . . . . . . . . . . . . . . . . . . 45
|
|
Appendix D. Change Log . . . . . . . . . . . . . . . . . . . . . 45
|
| |
D.1. Since rfc8536bis-05 . . . . . . . . . . . . . . . . . . . 45
|
|
D.1. Since rfc8536bis-06 . . . . . . . . . . . . . . . . . . . 45
|
| |
D.2. Since rfc8536bis-04 . . . . . . . . . . . . . . . . . . . 45
|
|
D.2. Since rfc8536bis-05 . . . . . . . . . . . . . . . . . . . 45
|
| |
D.3. Since rfc8536bis-03 . . . . . . . . . . . . . . . . . . . 45
|
|
D.3. Since rfc8536bis-04 . . . . . . . . . . . . . . . . . . . 45
|
| |
D.4. Since rfc8536bis-02 . . . . . . . . . . . . . . . . . . . 45
|
|
D.4. Since rfc8536bis-03 . . . . . . . . . . . . . . . . . . . 45
|
| |
D.5. Since rfc8536bis-01 . . . . . . . . . . . . . . . . . . . 45
|
|
D.5. Since rfc8536bis-02 . . . . . . . . . . . . . . . . . . . 45
|
| |
D.6. Since rfc8536bis-00 . . . . . . . . . . . . . . . . . . . 45
|
|
D.6. Since rfc8536bis-01 . . . . . . . . . . . . . . . . . . . 45
|
| |
|
|
D.7. Since rfc8536bis-00 . . . . . . . . . . . . . . . . . . . 46
|
| |
D.7. Since RFC 8536 . . . . . . . . . . . . . . . . . . . . . 45
|
|
D.8. Since RFC 8536 . . . . . . . . . . . . . . . . . . . . . 46
|
| |
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 46
|
|
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 46
|
| |
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 46
|
|
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 46
|
| |
1. Introduction
|
|
1. Introduction
|
| |
|
|
|
| |
Time zone data typically consists of offsets from universal time
|
|
Time zone data typically consists of offsets from universal time
|
| |
(UT), daylight saving transition rules, one or more local time
|
|
(UT), daylight saving transition rules, one or more local time
|
| |
designations (acronyms or abbreviations), and optional leap-second
|
|
designations (acronyms or abbreviations), and optional leap-second
|
| |
adjustments. One such format for conveying this information is
|
|
adjustments. One such format for conveying this information is
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
2. Conventions Used in This Document
|
|
2. Conventions Used in This Document
|
| |
|
|
|
| |
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
|
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
| |
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
|
|
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
|
| |
"OPTIONAL" in this document are to be interpreted as described in
|
|
"OPTIONAL" in this document are to be interpreted as described in
|
| |
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
|
|
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
|
| |
capitals, as shown here.
|
|
capitals, as shown here.
|
| |
|
|
|
| |
The following terms are used in this document (see "Sources for Time
|
|
The following terms are used in this document (see "Time zone and
|
| |
Zone and Daylight Saving Time Data" [tz-link] for more detailed
|
|
daylight saving time data" [tz-link] for more detailed information
|
| |
information about civil timekeeping data and practice):
|
|
about civil timekeeping data and practice):
|
| |
|
|
|
| |
Coordinated Universal Time (UTC): The basis for civil time since
|
|
Coordinated Universal Time (UTC): The basis for civil time since
|
| |
1960. It is approximately equal to mean solar time at the prime
|
|
1960. It is approximately equal to mean solar time at the prime
|
| |
meridian (0 degrees longitude).
|
|
meridian (0 degrees longitude).
|
| |
|
|
|
| |
Daylight Saving Time (DST): The time according to a location's law
|
|
Daylight Saving Time (DST): The time according to a location's law
|
| |
or practice, when adjusted as necessary from standard time. The
|
|
or practice, when adjusted as necessary from standard time. The
|
| |
adjustment may be positive or negative, and the amount of
|
|
adjustment may be positive or negative, and the amount of
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
environment variable as defined in Section 8.3 of the "Base
|
|
environment variable as defined in Section 8.3 of the "Base
|
| |
Definitions" volume of [POSIX] and MUST encode the POSIX
|
|
Definitions" volume of [POSIX] and MUST encode the POSIX
|
| |
portable character set as ASCII. The leap second table MUST
|
|
portable character set as ASCII. The leap second table MUST
|
| |
NOT be truncated at the start (Section 5.1), and MUST NOT
|
|
NOT be truncated at the start (Section 5.1), and MUST NOT
|
| |
contain an expiration time.
|
|
contain an expiration time.
|
| |
|
|
|
| |
'3' (0x33) Version 3 - The file MUST conform to all version 2
|
|
'3' (0x33) Version 3 - The file MUST conform to all version 2
|
| |
requirements, except that any TZ string in the footer
|
|
requirements, except that any TZ string in the footer
|
| |
(Section 3.3) MAY use the TZ string extensions described below
|
|
(Section 3.3) MAY use the TZ string extension described below
|
| |
(Section 3.3.1).
|
|
(Section 3.3.2).
|
| |
|
|
|
| |
'4' (0x34) Version 4 - The file MUST conform to all version 3
|
|
'4' (0x34) Version 4 - The file MUST conform to all version 3
|
| |
requirements, except that the leap second table MAY be
|
|
requirements, except that the leap second table MAY be
|
| |
truncated at the start, and MAY contain an expiration time.
|
|
truncated at the start, and MAY contain an expiration time.
|
| |
|
|
|
| |
isutcnt: A four-octet unsigned integer specifying the number of UT/
|
|
isutcnt: A four-octet unsigned integer specifying the number of UT/
|
| |
local indicators contained in the data block -- MUST either be
|
|
local indicators contained in the data block -- MUST either be
|
| |
zero or equal to "typecnt".
|
|
zero or equal to "typecnt".
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
its correction is positive. Each correction after the first
|
|
its correction is positive. Each correction after the first
|
| |
MUST differ from the previous correction by either one (1) for
|
|
MUST differ from the previous correction by either one (1) for
|
| |
a positive leap second or minus one (-1) for a negative leap
|
|
a positive leap second or minus one (-1) for a negative leap
|
| |
second, except that if there are two or more leap-second
|
|
second, except that if there are two or more leap-second
|
| |
records the correction value of the last record MAY be the same
|
|
records the correction value of the last record MAY be the same
|
| |
as the second-to-last record, with the last record indicating
|
|
as the second-to-last record, with the last record indicating
|
| |
the expiration time of the leap-second table.
|
|
the expiration time of the leap-second table.
|
| |
|
|
|
| |
|
|
Note that if leap seconds become permanently discontinued, as
|
| |
|
|
requested by the General Conference on Weights and Measures
|
| |
|
|
[CGPM-2022-R4], the leap second table SHOULD NOT expire since
|
| |
|
|
it will not be updated in the foreseeable future.
|
| |
|
|
|
| |
standard/wall indicators: A series of one-octet values indicating
|
|
standard/wall indicators: A series of one-octet values indicating
|
| |
whether the transition times associated with local time types were
|
|
whether the transition times associated with local time types were
|
| |
specified as standard time or wall-clock time. Each value MUST be
|
|
specified as standard time or wall-clock time. Each value MUST be
|
| |
0 or 1. A value of one (1) indicates standard time. The value
|
|
0 or 1. A value of one (1) indicates standard time. The value
|
| |
MUST be set to one (1) if the corresponding UT/local indicator is
|
|
MUST be set to one (1) if the corresponding UT/local indicator is
|
| |
set to one (1). A value of zero (0) indicates wall time. The
|
|
set to one (1). A value of zero (0) indicates wall time. The
|
| |
number of values is specified by the "isstdcnt" field in the
|
|
number of values is specified by the "isstdcnt" field in the
|
| |
header. If "isstdcnt" is zero (0), all transition times
|
|
header. If "isstdcnt" is zero (0), all transition times
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
the transition times associated with local time types were
|
|
the transition times associated with local time types were
|
| |
specified as UT or local time. Each value MUST be 0 or 1. A
|
|
specified as UT or local time. Each value MUST be 0 or 1. A
|
| |
value of one (1) indicates UT, and the corresponding standard/wall
|
|
value of one (1) indicates UT, and the corresponding standard/wall
|
| |
indicator MUST also be set to one (1). A value of zero (0)
|
|
indicator MUST also be set to one (1). A value of zero (0)
|
| |
indicates local time. The number of values is specified by the
|
|
indicates local time. The number of values is specified by the
|
| |
"isutcnt" field in the header. If "isutcnt" is zero (0), all
|
|
"isutcnt" field in the header. If "isutcnt" is zero (0), all
|
| |
transition times associated with local time types are assumed to
|
|
transition times associated with local time types are assumed to
|
| |
be specified as local time.
|
|
be specified as local time.
|
| |
|
|
|
| |
The type corresponding to a transition time specifies local time for
|
|
The type corresponding to a transition time specifies local time for
|
| |
timestamps starting at the given transition time and continuing up
|
|
timestamps starting at the given transition time and continuing up
|
| |
to, but not including, the next transition time. Local time for
|
|
to, but not including, the next transition time. Local time for
|
| |
timestamps before the first transition is specified by the first time
|
|
timestamps before the first transition is specified by the first time
|
| |
type (time type 0). Local time for timestamps on or after the last
|
|
type (time type 0). Local time for timestamps on or after the last
|
| |
transition is specified by the TZ string in the footer (Section 3.3)
|
|
transition is specified by the TZ string in the footer (Section 3.3)
|
| |
if present and nonempty; otherwise, it is unspecified. If there are
|
|
if present and nonempty; otherwise, it is unspecified. If there are
|
| |
no transitions, local time for all timestamps is specified by the TZ
|
|
no transitions, local time for all timestamps is specified by the TZ
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
| NL| TZ string (0...) |NL |
|
|
| NL| TZ string (0...) |NL |
|
| |
+---+--------------------+---+
|
|
+---+--------------------+---+
|
| |
|
|
|
| |
Figure 4: TZif Footer
|
|
Figure 4: TZif Footer
|
| |
|
|
|
| |
The elements of the footer are defined as follows:
|
|
The elements of the footer are defined as follows:
|
| |
|
|
|
| |
NL: An ASCII new line character (0x0A).
|
|
NL: An ASCII new line character (0x0A).
|
| |
|
|
|
| |
TZ string: A rule for computing local time changes after the last
|
|
TZ string: A rule for computing local time changes after the last
|
| |
transition time stored in the version 2+ data block. The string
|
|
transition time stored in the version 2+ data block. The string
|
| |
is either empty or uses the expanded format of the "TZ"
|
|
is either empty or uses the expanded format of the "TZ"
|
| |
environment variable as defined in Section 8.3 of the "Base
|
|
environment variable as defined in Section 8.3 of the "Base
|
| |
Definitions" volume of [POSIX] with ASCII encoding, possibly
|
|
Definitions" volume of [POSIX] with ASCII encoding, possibly
|
| |
utilizing extensions described below (Section 3.3.1) in version 3
|
|
utilizing extension described below (Section 3.3.2) in version 3
|
| |
and higher files. If the string is empty, the corresponding
|
|
and higher files. If the string is empty, the corresponding
|
| |
information is not available. If the string is nonempty and one
|
|
information is not available. If the string is nonempty and one
|
| |
or more transitions appear in the version 2+ data, the string MUST
|
|
or more transitions appear in the version 2+ data, the string MUST
|
| |
be consistent with the last version 2+ transition. In other
|
|
be consistent with the last version 2+ transition. In other
|
| |
words, evaluating the TZ string at the time of the last transition
|
|
words, evaluating the TZ string at the time of the last transition
|
| |
should yield the same time type as was specified in the last
|
|
should yield the same time type as was specified in the last
|
| |
transition. The string MUST NOT contain NUL octets or be
|
|
transition. The string MUST NOT contain NUL octets or be
|
| |
NUL-terminated, and it SHOULD NOT begin with the ':' (colon)
|
|
NUL-terminated, and it SHOULD NOT begin with the ':' (colon)
|
| |
character.
|
|
character.
|
| |
|
|
|
| |
The TZif footer is present only in version 2 and higher files, as the
|
|
The TZif footer is present only in version 2 and higher files, as the
|
| |
obsolescent version 1 format was designed before the need for a
|
|
obsolescent version 1 format was designed before the need for a
|
| |
footer was apparent.
|
|
footer was apparent.
|
| |
|
|
|
| |
|
|
3.3.1. All-Year Daylight Saving Time
|
| |
|
|
|
| |
|
|
DST is considered to be in effect all year if its UT offset is less
|
| |
|
|
than (i.e., west of) that of standard time, and it starts January 1
|
| |
|
|
at 00:00 and ends December 31 at 24:00 minus the difference between
|
| |
|
|
standard and daylight saving time, leaving no room for standard time
|
| |
|
|
in the calendar. [POSIX] implies, but does not explicitly state
|
| |
|
|
this, so it is spelled out here for clarity.
|
| |
|
|
|
| |
|
|
Example: XXX3EDT4,0/0,J365/23
|
| |
|
|
This represents a time zone that is perpetually 4 hours west of UT
|
| |
|
|
and is abbreviated "EDT". The "XXX" is ignored.
|
| |
|
|
|
| |
3.3.1. TZ String Extensions
|
|
3.3.2. TZ String Extension
|
| |
|
|
|
| |
The TZ string in a version 3 or higher TZif file MAY use the
|
|
The TZ string in a version 3 or higher TZif file MAY use the
|
| |
following extensions to POSIX TZ strings. These extensions are
|
|
following extension to POSIX TZ strings. This extension is described
|
| |
described using the terminology of Section 8.3 of the "Base
|
|
using the terminology of Section 8.3 of the "Base Definitions" volume
|
| |
Definitions" volume of [POSIX].
|
|
of [POSIX].
|
| |
|
|
|
| |
* The hours part of the transition times may be signed and range
|
|
* The hours part of the transition times may be signed and range
|
| |
from -167 through 167 (-167 <= hh <= 167) instead of the POSIX-
|
|
from -167 through 167 (-167 <= hh <= 167) instead of the POSIX-
|
| |
required unsigned values from 0 through 24.
|
|
required unsigned values from 0 through 24.
|
| |
|
|
|
| |
Example: <-03>3<-02>,M3.5.0/-2,M10.5.0/-1
|
|
Example: <-03>3<-02>,M3.5.0/-2,M10.5.0/-1
|
| |
This represents a time zone that observes daylight saving time
|
|
This represents a time zone that observes daylight saving time
|
| |
from 22:00 on the day before March's last Sunday until 23:00 on
|
|
from 22:00 on the day before March's last Sunday until 23:00 on
|
| |
the day before October's last Sunday. Standard time is 3 hours
|
|
the day before October's last Sunday. Standard time is 3 hours
|
| |
west of UT and is abbreviated "-03"; daylight saving time is 2
|
|
west of UT and is abbreviated "-03"; daylight saving time is 2
|
| |
hours west of UT and is abbreviated "-02".
|
|
hours west of UT and is abbreviated "-02".
|
| |
|
|
|
| |
* DST is considered to be in effect all year if its UT offset is
|
|
Note that a TZif file that uses the above extension is always
|
| |
less than (i.e., west of) that of standard time, and it starts
|
|
REQUIRED to be designated as version 3 (or higher), even if a future
|
| |
January 1 at 00:00 and ends December 31 at 24:00 minus the
|
|
version of POSIX adopts this extension.
|
| |
difference between standard and daylight saving time, leaving no
|
|
|
| |
room for standard time in the calendar. (POSIX implies but does
|
|
|
| |
not explicitly state this, so it is spelled out here for clarity.)
|
|
|
| |
|
|
|
| |
Example: XXX3EDT4,0/0,J365/23
|
|
|
| |
This represents a time zone that observes daylight saving time
|
|
|
| |
all year. It is 4 hours west of UT and is abbreviated "EDT".
|
|
|
| |
The "XXX" is ignored.
|
|
|
| |
|
|
|
| |
4. Interoperability Considerations
|
|
4. Interoperability Considerations
|
| |
|
|
|
| |
The following practices help ensure the interoperability of TZif
|
|
The following practices help ensure the interoperability of TZif
|
| |
applications.
|
|
applications.
|
| |
|
|
|
| |
* Version 1 files are considered a legacy format and SHOULD NOT be
|
|
* Version 1 files are considered a legacy format and SHOULD NOT be
|
| |
generated, as they do not support transition times after the year
|
|
generated, as they do not support transition times after the year
|
| |
2038.
|
|
2038.
|
| |
|
|
|
| |
* Readers that understand only version 1 MUST ignore any data that
|
|
* Readers that understand only version 1 MUST ignore any data that
|
| |
extends beyond the calculated end of the version 1 data block.
|
|
extends beyond the calculated end of the version 1 data block.
|
| |
|
|
|
| |
* Other than version 1, writers should generate the lowest version
|
|
* Other than version 1, writers should generate the lowest version
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
version 2+ header and data block, and by the footer. This
|
|
version 2+ header and data block, and by the footer. This
|
| |
guideline helps obsolescent version 1 readers agree with current
|
|
guideline helps obsolescent version 1 readers agree with current
|
| |
readers about timestamps within the contiguous sub-sequence.
|
|
readers about timestamps within the contiguous sub-sequence.
|
| |
|
|
|
| |
* When a TZif file contains a leap second table expiration time,
|
|
* When a TZif file contains a leap second table expiration time,
|
| |
TZif readers SHOULD either refuse to process post-expiration
|
|
TZif readers SHOULD either refuse to process post-expiration
|
| |
timestamps, or process them as if the expiration time did not
|
|
timestamps, or process them as if the expiration time did not
|
| |
exist (possibly with an error indication).
|
|
exist (possibly with an error indication).
|
| |
|
|
|
| |
* Time zone designations SHOULD consist of at least three (3) and no
|
|
* Time zone designations SHOULD consist of at least three (3) and no
|
| |
more than six (6) ASCII characters from the set of alphanumerics,
|
|
more than six (6) ASCII characters from the set of alphanumerics,
|
| |
'-', and '+'. This is for compatibility with POSIX requirements
|
|
'-', and '+'. This is for compatibility with POSIX requirements
|
| |
for time zone abbreviations.
|
|
for time zone abbreviations.
|
| |
|
|
|
| |
* When reading a version 2 or higher file, readers SHOULD ignore the
|
|
* When reading a version 2 or higher file, readers SHOULD ignore the
|
| |
version 1 header and data block except for the purpose of skipping
|
|
version 1 header and data block except for the purpose of skipping
|
| |
over them.
|
|
over them.
|
| |
|
|
|
| |
* Readers SHOULD calculate the total lengths of the headers and data
|
|
* Readers SHOULD calculate the total lengths of the headers and data
|
| |
blocks and check that they all fit within the actual file size, as
|
|
blocks and check that they all fit within the actual file size, as
|
| |
part of a validity check for the file.
|
|
part of a validity check for the file.
|
| |
|
|
|
| |
* When a TZif file is used in a MIME message entity, it SHOULD be
|
|
* When a TZif file is used in a MIME message entity, it SHOULD be
|
| |
indicated by one of the following media types:
|
|
indicated by one of the following media types:
|
| |
|
|
|
| |
- "application/tzif-leap" (Section 8.2) to indicate that leap-
|
|
- "application/tzif-leap" (Section 8.2) to indicate that leap-
|
| |
second records are included in the TZif data as necessary (none
|
|
second records are included in the TZif data as necessary (none
|
| |
are necessary if the file is truncated to a range that precedes
|
|
are necessary if the file is truncated to a range that precedes
|
| |
the first leap second).
|
|
the first leap second).
|
| |
|
|
|
| |
- "application/tzif" (Section 8.1) to indicate that leap-second
|
|
- "application/tzif" (Section 8.1) to indicate that leap-second
|
| |
records are not included in the TZif data; "leapcnt" in the
|
|
records are not included in the TZif data; "leapcnt" in the
|
| |
header(s) MUST be zero (0).
|
|
header(s) MUST be zero (0).
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
"application/tzif-leap" (Section 8.2) in its "capabilities" response
|
|
"application/tzif-leap" (Section 8.2) in its "capabilities" response
|
| |
if it is able to generate TZif files containing leap-second records.
|
|
if it is able to generate TZif files containing leap-second records.
|
| |
A TZDIST service MUST NOT advertise the "application/tzif-leap" media
|
|
A TZDIST service MUST NOT advertise the "application/tzif-leap" media
|
| |
type without also advertising "application/tzif".
|
|
type without also advertising "application/tzif".
|
| |
|
|
|
| |
TZDIST clients MUST use the HTTP "Accept" [RFC7231] header field to
|
|
TZDIST clients MUST use the HTTP "Accept" [RFC7231] header field to
|
| |
indicate their preference to receive data in the "application/tzif"
|
|
indicate their preference to receive data in the "application/tzif"
|
| |
and/or "application/tzif-leap" formats.
|
|
and/or "application/tzif-leap" formats.
|
| |
|
|
|
| |
5.1. Truncating TZif Files
|
|
5.1. Truncating TZif Files
|
| |
|
|
|
| |
As described in Section 3.9 of [RFC7808], a TZDIST service MAY
|
|
As described in Section 3.9 of [RFC7808], a TZDIST service MAY
|
| |
truncate time zone transition data. A truncated TZif file is valid
|
|
truncate time zone transition data. A truncated TZif file is valid
|
| |
from its first and up to, but not including, its last version 2+
|
|
from its first and up to, but not including, its last version 2+
|
| |
transition time, if present.
|
|
transition time, if present.
|
| |
|
|
|
| |
When truncating the start of a TZif file, the service MUST supply in
|
|
When truncating the start of a TZif file, the service MUST supply in
|
| |
the version 2+ data a first transition time that is the start point
|
|
the version 2+ data a first transition time that is the start point
|
| |
of the truncation range. As with untruncated TZif files, time type 0
|
|
of the truncation range. As with untruncated TZif files, time type 0
|
| |
indicates local time immediately before the start point, and the time
|
|
indicates local time immediately before the start point, and the time
|
| |
type of the first transition indicates local time thereafter. Time
|
|
type of the first transition indicates local time thereafter. Time
|
| |
type 0 SHOULD be a placeholder indicating that local time is
|
|
type 0 SHOULD be a placeholder indicating that local time is
|
| |
unspecified.
|
|
unspecified.
|
| |
|
|
|
| |
When truncating the start of a TZif file containing leap-second
|
|
When truncating the start of a TZif file containing leap-second
|
| |
records, the service MUST keep all leap-second records governing
|
|
records, the service MUST keep all leap-second records governing
|
| |
timestamps within the truncation range, even if the first such record
|
|
timestamps within the truncation range, even if the first such record
|
| |
precedes the start point of the truncation range. If the truncated
|
|
precedes the start point of the truncation range. If the truncated
|
| |
leap second table is nonempty, its first record MUST have a positive
|
|
leap second table is nonempty, its first record MUST have a positive
|
| |
correction if and only if it represents a positive leap second.
|
|
correction if and only if it represents a positive leap second.
|
| |
|
|
|
| |
When truncating the end of a TZif file, the service MUST supply in
|
|
When truncating the end of a TZif file, the service MUST supply in
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
|
|
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
|
| |
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
|
|
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
|
| |
|
|
|
| |
[ZIC] Kerrisk, M., "ZIC(8)", man-pages release 4.16, 25 February
|
|
[ZIC] Kerrisk, M., "ZIC(8)", man-pages release 4.16, 25 February
|
| |
2010, <http://man7.org/linux/man-pages/man8/zic.8.html>.
|
|
2010, <http://man7.org/linux/man-pages/man8/zic.8.html>.
|
| |
|
|
|
| |
9.2. Informative References
|
|
9.2. Informative References
|
| |
|
|
|
| |
|
|
[CGPM-2022-R4]
|
| |
|
|
General Conference on Weights and Measures, "Resolution 4
|
| |
|
|
of the 27th CGPM (2022)", November 2022,
|
| |
|
|
<https://www.bipm.org/en/cgpm-2022/resolution-4>.
|
| |
|
|
|
| |
[EGGERT-TZ]
|
|
[EGGERT-TZ]
|
| |
"History for tz", March 2021,
|
|
"History for tz", March 2021,
|
| |
<https://github.com/eggert/tz/commits/main/tzfile.5>.
|
|
<https://github.com/eggert/tz/commits/main/tzfile.5>.
|
| |
|
|
|
| |
[Err6426] RFC Errata, "Erratum ID 6426", RFC 8536,
|
|
[Err6426] RFC Errata, "Erratum ID 6426", RFC 8536,
|
| |
<https://www.rfc-editor.org/errata/eid6426>.
|
|
<https://www.rfc-editor.org/errata/eid6426>.
|
| |
|
|
|
| |
[Err6435] RFC Errata, "Erratum ID 6435", RFC 8536,
|
|
[Err6435] RFC Errata, "Erratum ID 6435", RFC 8536,
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
|
|
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
|
| |
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
|
|
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
|
| |
<https://www.rfc-editor.org/info/rfc8446>.
|
|
<https://www.rfc-editor.org/info/rfc8446>.
|
| |
|
|
|
| |
[RFC8536] Olson, A., Eggert, P., and K. Murchison, "The Time Zone
|
|
[RFC8536] Olson, A., Eggert, P., and K. Murchison, "The Time Zone
|
| |
Information Format (TZif)", RFC 8536,
|
|
Information Format (TZif)", RFC 8536,
|
| |
DOI 10.17487/RFC8536, February 2019,
|
|
DOI 10.17487/RFC8536, February 2019,
|
| |
<https://www.rfc-editor.org/info/rfc8536>.
|
|
<https://www.rfc-editor.org/info/rfc8536>.
|
| |
|
|
|
| |
[tz-link] Eggert, P. and A.D. Olson, "Sources for Time Zone and
|
|
[tz-link] Eggert, P. and A.D. Olson, "Time zone and daylight saving
|
| |
Daylight Saving Time Data", 2018,
|
|
time data", 2022,
|
| |
<https://www.iana.org/time-zones/repository/tz-link.html>.
|
|
<https://www.iana.org/time-zones/tz-link.html>.
|
| |
|
|
|
| |
Appendix A. Common Interoperability Issues
|
|
Appendix A. Common Interoperability Issues
|
| |
|
|
|
| |
This section documents common problems in implementing this
|
|
This section documents common problems in implementing this
|
| |
specification. Most of these are problems in generating TZif files
|
|
specification. Most of these are problems in generating TZif files
|
| |
for use by readers conforming to predecessors of this specification
|
|
for use by readers conforming to predecessors of this specification
|
| |
[EGGERT-TZ]. The goals of this section are:
|
|
[EGGERT-TZ]. The goals of this section are:
|
| |
|
|
|
| |
1. to help TZif writers output files that avoid common pitfalls in
|
|
1. to help TZif writers output files that avoid common pitfalls in
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
|
|
|
| |
* Many readers mishandle time zone abbreviations that contain non-
|
|
* Many readers mishandle time zone abbreviations that contain non-
|
| |
ASCII characters. These characters are not recommended.
|
|
ASCII characters. These characters are not recommended.
|
| |
|
|
|
| |
* Some readers may mishandle time zone abbreviations that contain
|
|
* Some readers may mishandle time zone abbreviations that contain
|
| |
fewer than 3 or more than 6 characters, or that contain ASCII
|
|
fewer than 3 or more than 6 characters, or that contain ASCII
|
| |
characters other than alphanumerics, '-', and '+'. These
|
|
characters other than alphanumerics, '-', and '+'. These
|
| |
abbreviations are not recommended.
|
|
abbreviations are not recommended.
|
| |
|
|
|
| |
* This specification does not dictate how readers should deal with
|
|
* This specification does not dictate how readers should deal with
|
| |
timestamps when local time is unspecified. Common practice is for
|
|
timestamps when local time is unspecified. Common practice is for
|
| |
readers to report UT with designation string "-00". A reader
|
|
readers to report UT with designation string "-00". A reader
|
| |
could return an error indication instead.
|
|
could return an error indication instead.
|
| |
|
|
|
| |
* Some readers mishandle TZif files that specify daylight saving
|
|
* Some readers mishandle TZif files that specify daylight saving
|
| |
time UT offsets that are less than the UT offsets for the
|
|
time UT offsets that are less than the UT offsets for the
|
| |
corresponding standard time. These readers do not support
|
|
corresponding standard time. These readers do not support
|
| |
locations like Ireland, which uses the equivalent of the POSIX TZ
|
|
locations like Ireland, which uses the equivalent of the POSIX TZ
|
| |
string "IST-1GMT0,M10.5.0,M3.5.0/1", observing standard time (IST,
|
|
string "IST-1GMT0,M10.5.0,M3.5.0/1", observing standard time (IST,
|
| |
+01) in summer and daylight saving time (GMT, +00) in winter. As
|
|
+01) in summer and daylight saving time (GMT, +00) in winter. As
|
| |
a partial workaround, a writer can output data for the equivalent
|
|
a partial workaround, a writer can output data for the equivalent
|
| |
of the POSIX TZ string "GMT0IST,M3.5.0/1,M10.5.0", thus swapping
|
|
of the POSIX TZ string "GMT0IST,M3.5.0/1,M10.5.0", thus swapping
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
timestamps are likely to be more prone to this problem.
|
|
timestamps are likely to be more prone to this problem.
|
| |
|
|
|
| |
* Some readers mishandle time zone abbreviations like "-08" that
|
|
* Some readers mishandle time zone abbreviations like "-08" that
|
| |
contain '+', '-', or digits.
|
|
contain '+', '-', or digits.
|
| |
|
|
|
| |
* Some readers mishandle UT offsets that are out of the traditional
|
|
* Some readers mishandle UT offsets that are out of the traditional
|
| |
range of -12 through +12 hours and so do not support locations
|
|
range of -12 through +12 hours and so do not support locations
|
| |
like Kiritimati that are outside this range.
|
|
like Kiritimati that are outside this range.
|
| |
|
|
|
| |
* Some readers mishandle UT offsets in the range [-3599, -1] seconds
|
|
* Some readers mishandle UT offsets in the range [-3599, -1] seconds
|
| |
from UT, because they integer-divide the offset by 3600 to get 0
|
|
from UT, because they integer-divide the offset by 3600 to get 0
|
| |
and then display the hour part as "+00".
|
|
and then display the hour part as "+00".
|
| |
|
|
|
| |
* Some readers mishandle UT offsets that are not a multiple of one
|
|
* Some readers mishandle UT offsets that are not a multiple of one
|
| |
hour, 15 minutes, or 1 minute.
|
|
hour, 15 minutes, or 1 minute.
|
| |
|
|
|
| |
Appendix B. Example TZif Files
|
|
Appendix B. Example TZif Files
|
| |
|
|
|
| |
The following sections contain annotated hexadecimal dumps of example
|
|
The following sections contain annotated hexadecimal dumps of example
|
| |
TZif files.
|
|
TZif files.
|
| |
|
|
|
| |
Note that these examples should only be considered informative.
|
|
Note that these examples should only be considered informative.
|
| |
Although the example data entries are current as of the publication
|
|
Although the example data entries are current as of the publication
|
| |
date of this document, the data will likely change in the future as
|
|
date of this document, the data will likely change in the future as
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
Table 1
|
|
Table 1
|
| |
|
|
|
| |
To determine TAI corresponding to 2000-01-01T00:00:00Z
|
|
To determine TAI corresponding to 2000-01-01T00:00:00Z
|
| |
(UNIX time = 946684800), the following procedure would be followed:
|
|
(UNIX time = 946684800), the following procedure would be followed:
|
| |
|
|
|
| |
1. Find the latest leap-second occurrence prior to the time of
|
|
1. Find the latest leap-second occurrence prior to the time of
|
| |
interest (leapsecond[21]) and note the correction value
|
|
interest (leapsecond[21]) and note the correction value
|
| |
(LEAPCORR = 22).
|
|
(LEAPCORR = 22).
|
| |
|
|
|
| |
2. Add LEAPCORR + 10 to the time of interest to yield TAI of
|
|
2. Add LEAPCORR + 10 to the time of interest to yield TAI of
|
| |
2000-01-01T00:00:32.
|
|
2000-01-01T00:00:32.
|
| |
|
|
|
| |
B.2. Version 2 File Representing Pacific/Honolulu
|
|
B.2. Version 2 File Representing Pacific/Honolulu
|
| |
|
|
|
| |
+========+=============+==================+========================+
|
|
+========+=============+==================+========================+
|
| |
| File | Hexadecimal | Record Name / | Field Value |
|
|
| File | Hexadecimal | Record Name / | Field Value |
|
| |
| Offset | Octets | Field Name | |
|
|
| Offset | Octets | Field Name | |
|
| |
+========+=============+==================+========================+
|
|
+========+=============+==================+========================+
|
| |
| 000 | 54 5a 69 66 | magic | "TZif" |
|
|
| 000 | 54 5a 69 66 | magic | "TZif" |
|
| |
+--------+-------------+------------------+------------------------+
|
|
+--------+-------------+------------------+------------------------+
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
|
|
|
| |
3. Reference the corresponding local time type (localtimetype[2]) to
|
|
3. Reference the corresponding local time type (localtimetype[2]) to
|
| |
determine the offset from UTC (-09:30), the daylight saving
|
|
determine the offset from UTC (-09:30), the daylight saving
|
| |
indicator (1 = yes), and the index into the time zone designation
|
|
indicator (1 = yes), and the index into the time zone designation
|
| |
strings (8).
|
|
strings (8).
|
| |
|
|
|
| |
4. Look up the corresponding time zone designation string
|
|
4. Look up the corresponding time zone designation string
|
| |
(designations[8] = "HDT").
|
|
(designations[8] = "HDT").
|
| |
|
|
|
| |
5. Add the UTC offset to the time of interest to yield a local
|
|
5. Add the UTC offset to the time of interest to yield a local
|
| |
daylight saving time of 1933-05-04T02:30:00-09:30 (HDT).
|
|
daylight saving time of 1933-05-04T02:30:00-09:30 (HDT).
|
| |
|
|
|
| |
To determine the local time in this time zone corresponding to
|
|
To determine the local time in this time zone corresponding to
|
| |
2019-01-01T00:00:00Z (UNIX time = 1546300800), the following
|
|
2019-01-01T00:00:00Z (UNIX time = 1546300800), the following
|
| |
procedure would be followed:
|
|
procedure would be followed:
|
| |
|
|
|
| |
1. Find the latest time transition prior to the time of interest
|
|
1. Find the latest time transition prior to the time of interest
|
| |
(there is no such transition).
|
|
(there is no such transition).
|
| |
|
|
|
| |
2. Look up the TZ string in the footer ("HST10"), which indicates
|
|
2. Look up the TZ string in the footer ("HST10"), which indicates
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
|
|
|
| |
The following TZif file has been truncated to start on
|
|
The following TZif file has been truncated to start on
|
| |
2022-01-01T00:00:00Z.
|
|
2022-01-01T00:00:00Z.
|
| |
|
|
|
| |
In this example:
|
|
In this example:
|
| |
|
|
|
| |
* The version 1 header contains only the required minimum data,
|
|
* The version 1 header contains only the required minimum data,
|
| |
which will be ignored by readers.
|
|
which will be ignored by readers.
|
| |
|
|
|
| |
* The version 4 header leverages the fact that by specifying
|
|
* The version 4 header leverages the fact that by specifying
|
| |
'isutcnt' and 'isstdcnt' as zero, all transition times associated
|
|
'isutcnt' and 'isstdcnt' as zero, all transition times associated
|
| |
with local time types are assumed to be specified as local wall-
|
|
with local time types are assumed to be specified as local wall-
|
| |
clock time (see the definitions of UT/local indicators and
|
|
clock time (see the definitions of UT/local indicators and
|
| |
standard/wall indicators in Section 3.2).
|
|
standard/wall indicators in Section 3.2).
|
| |
|
|
|
| |
* The first leap second occurrence is the most recent one prior to
|
|
* The first leap second occurrence is the most recent one prior to
|
| |
the truncation time.
|
|
the truncation time.
|
| |
|
|
|
| |
* The last leap second correction matches the second-to-last leap
|
|
* The last leap second correction matches the second-to-last leap
|
| |
second correction, indicating the expiration time of the leap
|
|
second correction, indicating the expiration time of the leap
|
| |
second table.
|
|
second table.
|
| |
|
|
|
| |
* The TZ string value has been line-wrapped for presentation
|
|
* The TZ string value has been line-wrapped for presentation
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
* Applied erratum [Err6435].
|
|
* Applied erratum [Err6435].
|
| |
|
|
|
| |
* Addressed errata [Err6426] and [Err6757] as well as several other
|
|
* Addressed errata [Err6426] and [Err6757] as well as several other
|
| |
errors in the examples.
|
|
errors in the examples.
|
| |
|
|
|
| |
* Clarified the all-year daylight saving time TZ string
|
|
* Clarified the all-year daylight saving time TZ string
|
| |
(Section 3.3.1) example and added a similar example with negative
|
|
(Section 3.3.1) example and added a similar example with negative
|
| |
DST.
|
|
DST.
|
| |
|
|
|
| |
* Added informational notes to Appendix B.3.
|
|
* Added informational notes to Appendix B.3.
|
| |
|
|
|
| |
* Miscellaneous editorial changes.
|
|
* Miscellaneous editorial changes.
|
| |
|
|
|
| |
Appendix D. Change Log
|
|
Appendix D. Change Log
|
| |
|
|
|
| |
This section is to be removed by RFC Editor before publication.
|
|
This section is to be removed by RFC Editor before publication.
|
| |
|
|
|
| |
D.1. Since rfc8536bis-05
|
|
D.1. Since rfc8536bis-06
|
| |
|
|
|
| |
|
|
* Moved the specification of an all-year daylight saving time TZ
|
| |
|
|
string (Section 3.3.1), to its own section as it is NOT an
|
| |
|
|
extension.
|
| |
|
|
|
| |
|
|
* Noted that should leap seconds to become discontinued that leap
|
| |
|
|
second tables SHOULD NOT expire.
|
| |
|
|
|
| |
|
|
* Updated "tz-link" title and reference.
|
| |
|
|
|
| |
|
|
D.2. Since rfc8536bis-05
|
| |
|
|
|
| |
* Clarified the specification of an all-year daylight saving time TZ
|
|
* Clarified the specification of an all-year daylight saving time TZ
|
| |
string (Section 3.3.1), and removed the EST5EDT example.
|
|
string (Section 3.3.1), and changed the example to use negative
|
| |
|
|
DST.
|
| |
|
|
|
| |
D.2. Since rfc8536bis-04
|
|
D.3. Since rfc8536bis-04
|
| |
|
|
|
| |
* None.
|
|
* None.
|
| |
|
|
|
| |
D.3. Since rfc8536bis-03
|
|
D.4. Since rfc8536bis-03
|
| |
|
|
|
| |
* Noted that erratum [Err6757] has been addressed.
|
|
* Noted that erratum [Err6757] has been addressed.
|
| |
|
|
|
| |
* Added a definition of Leap-Second, including UTC month.
|
|
* Added a definition of Leap-Second, including UTC month.
|
| |
|
|
|
| |
D.4. Since rfc8536bis-02
|
|
D.5. Since rfc8536bis-02
|
| |
|
|
|
| |
* Documented "-00" as meaning unspecified local time.
|
|
* Documented "-00" as meaning unspecified local time.
|
| |
|
|
|
| |
* Recommended that "-00" be used for timestamps that are unspecified
|
|
* Recommended that "-00" be used for timestamps that are unspecified
|
| |
due to TZif file truncation.
|
|
due to TZif file truncation.
|
| |
|
|
|
| |
D.5. Since rfc8536bis-01
|
|
D.6. Since rfc8536bis-01
|
| |
|
|
|
| |
* Converted source from xml2rfc v2 to v3.
|
|
* Converted source from xml2rfc v2 to v3.
|
| |
|
|
|
| |
* Properly line-wrapped long TZ string values in examples (with no
|
|
* Properly line-wrapped long TZ string values in examples (with no
|
| |
added space).
|
|
added space).
|
| |
|
|
|
| |
* No other substantive changes.
|
|
* No other substantive changes.
|
| |
|
|
|
| |
D.6. Since rfc8536bis-00
|
|
D.7. Since rfc8536bis-00
|
| |
|
|
|
| |
* Added specification of the version 4 format and the optional leap
|
|
* Added specification of the version 4 format and the optional leap
|
| |
second table truncation and expiration, along with an example and
|
|
second table truncation and expiration, along with an example and
|
| |
relevant interoperability considerations.
|
|
relevant interoperability considerations.
|
| |
|
|
|
| |
* Specified column widths in example tables.
|
|
* Specified column widths in example tables.
|
| |
|
|
|
| |
* Noted that long TZ string values in examples are line-wrapped for
|
|
* Noted that long TZ string values in examples are line-wrapped for
|
| |
presentation purposes only.
|
|
presentation purposes only.
|
| |
|
|
|
| |
D.7. Since RFC 8536
|
|
D.8. Since RFC 8536
|
| |
|
|
|
| |
* Applied erratum [Err6435].
|
|
* Applied erratum [Err6435].
|
| |
|
|
|
| |
* Addressed erratum [Err6426] and several other errors in the
|
|
* Addressed erratum [Err6426] and several other errors in the
|
| |
examples.
|
|
examples.
|
| |
|
|
|
| |
* Clarified the specification of an all-year daylight saving time TZ
|
|
* Clarified the specification of an all-year daylight saving time TZ
|
| |
string (Section 3.3.1), and changed the example to use negative
|
|
string (Section 3.3.1), and changed the example to use negative
|
| |
DST.
|
|
DST.
|
| |
|
|
|
|
Skipping
|
|
Skipping
|
| |
contributing their ideas and support for writing this specification:
|
|
contributing their ideas and support for writing this specification:
|
| |
Michael Douglass, Ned Freed, Guy Harris, Eliot Lear, Alexey Melnikov,
|
|
Michael Douglass, Ned Freed, Guy Harris, Eliot Lear, Alexey Melnikov,
|
| |
and Tim Parenti.
|
|
and Tim Parenti.
|
| |
|
|
|
| |
Authors' Addresses
|
|
Authors' Addresses
|
| |
|
|
|
| |
Arthur David Olson
|
|
Arthur David Olson
|
| |
Email: arthurdavidolson@gmail.com
|
|
Email: arthurdavidolson@gmail.com
|
| |
|
|
|
| |
|
|
|
| |
Paul Eggert
|
|
Paul Eggert
|
| |
University of California, Los Angeles
|
|
University of California, Los Angeles
|
| |
Email: eggert@cs.ucla.edu
|
|
Email: eggert@cs.ucla.edu
|
| |
|
|
|
| |
|
|
|
| |
Kenneth Murchison
|
|
Kenneth Murchison
|
| |
Fastmail US LLC
|
|
Fastmail US LLC
|
| |
Email: murch@fastmailteam.com
|
|
Email: murch@fastmailteam.com
|