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

URITypedocumentHashRetrieved
https://www.rfc-editor.org/rfc/rfc3339.txttext/plain; charset=us-asciisha256:9ab2b8864a85dca73a88f49b0927bc7bc85f596926e4fd1890905777924e700a2026-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 32

Referencing 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-time

Referencing 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 after

Referencing 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 order

Referencing 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 leap

Referencing 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 around

Referencing 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.