Source / pinned edition
Date and Time on the Internet: Timestamps
Source of package ietf.timestamps · RFC 3339
- work
- urn:ietf:clir:timestamps#RFC3339
- number
- RFC 3339
- kind
- urn:ietf:clir:timestamps#best_current_practice
RFC 3339, July 2002
- edition
- urn:ietf:clir:timestamps#RFC3339_EN
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- adopted: 2002-07-01; in_force: [object Object]
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://www.rfc-editor.org/rfc/rfc3339.txt | text/plain; charset=us-ascii | sha256:9ab2b8864a85dca73a88f49b0927bc7bc85f596926e4fd1890905777924e700a | 2026-09-04T22:30:00Z |
Fragments — 9
appendix/D/excerpt · section · referenced by: 4
en · official · sha256:a3ca3bc4d388fa2732b832faa00c6133d768eb70e1190bf00a99054d6783deb3
The following table is an excerpt from the table maintained by the
United States Naval Observatory. The source data is located at:Referencing norms: LeapSecondTableIsComplete, TableWindowIsTheClosureDomain/alt/1, TableWindowIsTheClosureDomain/alt/2, WithinLeapSecondTableWindow
appendix/D/table · section · referenced by: 22
en · official · sha256:39285bcebd20efd0914e18350a43b6102e536cec6d6f8304d033a79c5517de9e
UTC Date TAI - UTC After Leap Second
-------- ---------------------------
1972-06-30 11
1972-12-31 12
1973-12-31 13
1974-12-31 14
1975-12-31 15
1976-12-31 16
1977-12-31 17
1978-12-31 18
1979-12-31 19
1981-06-30 20
1982-06-30 21
1983-06-30 22
1985-06-30 23
1987-12-31 24
1989-12-31 25
1990-12-31 26
1992-06-30 27
1993-06-30 28
1994-06-30 29
1995-12-31 30
1997-06-30 31
1998-12-31 32Referencing norms: assert-h0054884158c0940df651814f6b3b6a08074f37ae96efb09080cb968d6da9799c, assert-h126b48eab20cf972cd669707080fa0d53e0dc8551098ea15ee170cd1a8b92cc1, assert-h15f3676fdab2936510fa946f9f31bf3d159552771fb330484f0953be4903ce01, assert-h2ede51fc8845c50fba449435891489491cb0fcd7cec1e5460b6f88ceecffefe5, assert-h30e88af6be689dd98c290d997be7c16bbeb2d4e8c901c1f297fdb198de3aa991, assert-h417d7c2f2eff4c6e41ce8a2efc9323db25be41bf83257599e164e6db594c3c3f, assert-h42f8996462c5cdb7eb0328587a4218e23bb2fe39d0ea4436e2390ba6bdf83d6d, assert-h485afc442bc36f0fb385ce4597b54bec0def739d9bd5fae81c66615678558562, assert-h4e2c0369b54a8eecdf5b40f5037548a80a13911562a3208d26084fdd96af64d0, assert-h5200aca9dfa126d625c3a54f49d692345db0eed008dcd58f29ce33048e9ed3f5, assert-h71fab7891cb42f7141341aff98c5020c660732ceba4c6b343d02ad261114474a, assert-h7a7168ef2a5116cf077b20b8d6c8fb219b4860c7cfe2a5b89941a6110897319c, assert-h7cdb39ebe1f08d441c4cde20bbb32226c289ee735b36b0a39e953d356020564d, assert-h9912d3b71723e168219ca3208471bd4dfbd7c97375fc43e5875a7baf0bfc3cc8, assert-h9d2cacaea28c0b5d97683ea23679b4c015e1778fd9c32c6747930ae8febffec3, assert-h9e8b4d27a5cfa0f388312f406f4e48de3adcaa5f03c97abac6a5abf88dc4fb98, assert-haa6cf2fc7221599f109cfb73bec50d11dc73ebd7fe69dfa978dda7022c25d44a, assert-haf48fc8d0427879c710b6f2c7845d34214e94d7a9bc0b8ba829592149f4d1b1c, assert-hd9cf29ebab309ced08384d47ba239afa9fb3041f702518e2e655754721fab264, assert-hf57f58ecde677a64c06ac3a8901fda775db44850dc251a931bf54364e0496f07, assert-hf87152eec26b1a68995250b1167315b586ad904e50a065a1507a0c0e5fc1236d, assert-hfc6245116fb35d3c49d57e78b5a1b52dcafc3de97b9408b3815a6e223398da49
section/4_2 · section · referenced by: 1
en · official · sha256:0e7a125bd1964d995802e154f41dfa7fa1b09d541e8c79218f79f5af23dc9d56
NOTE: Following ISO 8601, numeric offsets represent only time
zones that differ from UTC by an integral number of minutes.
However, many historical time zones differ from UTC by a non-
integral number of minutes. To represent such historical time
stamps exactly, applications must convert them to a representable
time zone.Referencing norms: NonIntegralOffsetRequiresConversion
section/4_3 · section · referenced by: 6
en · official · sha256:470277e299d774d54f2846ed79aa71ad47246b6cf4e5b94bb4d817e9e765f353
4.3. Unknown Local Offset Convention
If the time in UTC is known, but the offset to local time is unknown,
this can be represented with an offset of "-00:00". This differs
semantically from an offset of "Z" or "+00:00", which imply that UTC
is the preferred reference point for the specified time. RFC2822
[IMAIL-UPDATE] describes a similar convention for email.Referencing norms: HasOffsetMeaning, NegativeZeroMeansUnknownOffset, OffsetMeaningIsUnique, PositiveZeroMeansUtcPreferred, UnknownOffsetDiffersFromUtcPreference, ZuluMeantUtcPreferredBeforeRfc9557
section/5_6 · section · referenced by: 13
en · official · sha256:5218886f6c501a2761366dd6051d131eeea58fee54bdd3a41826c34c6cb90582
date-fullyear = 4DIGIT
date-month = 2DIGIT ; 01-12
date-mday = 2DIGIT ; 01-28, 01-29, 01-30, 01-31 based on
; month/year
time-hour = 2DIGIT ; 00-23
time-minute = 2DIGIT ; 00-59
time-second = 2DIGIT ; 00-58, 00-59, 00-60 based on leap second
; rules
time-secfrac = "." 1*DIGIT
time-numoffset = ("+" / "-") time-hour ":" time-minute
time-offset = "Z" / time-numoffset
partial-time = time-hour ":" time-minute ":" time-second
[time-secfrac]
full-date = date-fullyear "-" date-month "-" date-mday
full-time = partial-time time-offset
date-time = full-date "T" full-timeReferencing norms: MinuteOutOfRange, MinuteWithinRange, MonthAboveRange, MonthBelowRange, MonthWithinRange, NewProtocolFollowingTheProfileConforms, OffsetHoursAreATimeHour, OffsetMinutesAreATimeMinute, OffsetShorterThanADay, SecondAboveSixtyIsOutOfRange, SecondWithinOrdinaryRange, TimestampAdmissible, assert-h579afdd595f215e93387732228708a46ab13e180efe480e0e0b81c04ca8b6429
section/5_7 · section · referenced by: 1
en · official · sha256:47c612bb5b57ecc948c596a80e0940261ca052daee8c1e8958cd6aec690bcc61
Leap seconds cannot be predicted far into the future. The
International Earth Rotation Service publishes bulletins [IERS] that
announce leap seconds with a few weeks' warning. Applications should
not generate timestamps involving inserted leap seconds until afterReferencing norms: SixtyIsOutOfRangeWithoutAnAnnouncedLeapSecond
section/5_7 · section · referenced by: 2
en · official · sha256:5b8f63223eb46d1edacdafa965c72fb5842c4822d9ae9f71d2a39250686ce130
Although ISO 8601 permits the hour to be "24", this profile of ISO
8601 only allows values between "00" and "23" for the hour in orderReferencing norms: HourTwentyFourRejected, HourWithinRange
section/5_7 · section · referenced by: 18
en · official · sha256:5860ec82a735b440ec2df07e8c7a06de891465754da1151ec02a82fb5f3ee767
The grammar element date-mday represents the day number within the
current month. The maximum value varies based on the month and year
as follows:
Month Number Month/Year Maximum value of date-mday
------------ ---------- --------------------------
01 January 31
02 February, normal 28
02 February, leap year 29
03 March 31
04 April 30
05 May 31
06 June 30
07 July 31
08 August 31
09 September 30
10 October 31
11 November 30
12 December 31
Appendix C contains sample C code to determine if a year is a leapReferencing norms: FebruaryLeapDayOutOfRange, FebruaryLeapDayWithinRange, LongMonthDayOutOfRange, LongMonthDayWithinRange, MonthsOfThirty/alt/1, MonthsOfThirty/alt/2, MonthsOfThirty/alt/3, MonthsOfThirty/alt/4, MonthsOfThirtyOne/alt/1, MonthsOfThirtyOne/alt/2, MonthsOfThirtyOne/alt/3, MonthsOfThirtyOne/alt/4, MonthsOfThirtyOne/alt/5, MonthsOfThirtyOne/alt/6, MonthsOfThirtyOne/alt/7, ShortMonthDayOutOfRange, ShortMonthDayWithinRange, TimestampAdmissible
section/5_7 · section · referenced by: 6
en · official · sha256:64c3012c5085e15c07680885d28f5e4818a0d049af497044b7f1b8a06ec5af65
The grammar element time-second may have the value "60" at the end of
months in which a leap second occurs -- to date: June (XXXX-06-
30T23:59:60Z) or December (XXXX-12-31T23:59:60Z); see Appendix D for
a table of leap seconds. It is also possible for a leap second to be
subtracted, at which times the maximum value of time-second is "58".
At all other times the maximum value of time-second is "59".
Further, in time zones other than "Z", the leap second point is
shifted by the zone offset (so it happens at the same instant aroundReferencing norms: DecemberLeapSecondPosition, HasSecondSixty, JuneLeapSecondPosition, LeapSecondIsAdmissible, SixtyIsOutOfRangeWithoutAnAnnouncedLeapSecond, TimestampWithAnAdmissibleLeapSecondIsAdmissible
The hash beside the text is the sha256 of its exact bytes. It is the check that the text shown matches the one pinned in the package: a divergence fails the oracle’s static analysis.