Wikia

Calendar Wiki

ISO 8601

Talk0
372pages on
this wiki
Wikipedia-logo-en This page uses content from the English Wikipedia. The original article was at ISO 8601. The list of authors can be seen in the page history. As with the Calendar Wikia, the text of Wikipedia is available under Creative Commons License. See Wikia:Licensing.


ISO 8601 Data elements and interchange formats – Information interchange – Representation of dates and times is an international standard covering the exchange of date and time-related data. It was issued by the International Organization for Standardization (ISO) and was first published in 1988. The purpose of this standard is to provide an unambiguous and well-defined method of representing dates and times, so as to avoid misinterpretation of numeric representations of dates and times, particularly when data is transferred between countries with different conventions for writing numeric dates and times.

The standard organizes the data so the largest temporal term (the year) appears first in the data string and progresses to the smallest term (the second). It also provides for a standardized method of communicating time-based information across time zones by attaching an offset to Coordinated Universal Time (UTC).[1]

Date and time (current at page generation)
expressed according to ISO 8601:
Date: 2014-07-22
Combined date and time in UTC: 2014-07-22T17:58:40+00:00
2014-07-22T17:58:40Z
Week: 2014-W30
Date with week number: 2014-W30-2
Ordinal date: 2014-203

HistoryEdit

The first edition of the ISO 8601 standard was published in 1988. It unified and replaced a number of older ISO standards on various aspects of date and time notation: ISO 2014, ISO 2015, ISO 2711, ISO 3307, and ISO 4031.[2] It has been superseded by a second edition in 2000 and by the current third edition published on 3 December 2004.

ISO 2014 was the standard that originally introduced the all-numeric date notation in most-to-least-significant order [YYYY]-[MM]-[DD]. The ISO week numbering system was introduced in ISO 2015, and the identification of days by ordinal dates was originally defined in ISO 2711.

It is maintained by ISO Technical Committee TC 154.[3]

General principlesEdit

  • Date and time values are ordered from the most to the least significant: year, month (or week), day, hour, minute, second, and fraction of second. The lexicographical order of the representation thus corresponds to chronological order, except for date representations involving negative years. This allows dates to be naturally sorted by, for example, file systems.
  • Each date and time value has a fixed number of digits that must be padded with leading zeros.
  • Representations can be done in one of two formats – a basic format with a minimal number of separators or an extended format with separators added to enhance human readability.[1] The standard notes that "The basic format should be avoided in plain text."[4] The separator used between date values (year, month, week, and day) is the hyphen, while the colon is used as the separator between time values (hours, minutes, and seconds). For example, the 6th day of the 1st month of the year 2009 may be written as "2009-01-06" in the extended format or simply as "20090106" in the basic format without ambiguity.
  • For reduced precision,[5] any number of values may be dropped from any of the date and time representations, but in the order from the least to the most significant. For example, "2004-05" is a valid ISO 8601 date, which indicates May (the fifth month) 2004. This format will never represent the 5th day of an unspecified month in 2004, nor will it represent a time-span extending from 2004 into 2005.
  • If necessary for a particular application, the standard supports the addition of a decimal fraction to the smallest time value in the representation.

DatesEdit

The standard uses the Gregorian calendar, which serves as an international standard for civil use.[6]

ISO 8601 fixes a reference calendar date to the Gregorian calendar of 20 May 1875 as the date the Convention du Mètre (Metre Convention) was signed in Paris. However, ISO calendar dates before the Convention are still compatible with the Gregorian calendar all the way back to the official introduction of the Gregorian calendar on 1582-10-15. Earlier dates, in the proleptic Gregorian calendar, may be used by mutual agreement of the partners exchanging information. The standard states that every date must be consecutive, so usage of the Julian calendar would be contrary to the standard (because at the switchover date, the dates would not be consecutive).

YearsEdit

YYYY
±YYYYY

ISO 8601 prescribes, as a minimum, a four-digit year [YYYY] to avoid the year 2000 problem. It therefore represents years from 0000 to 9999, year 0000 being equal to 1 BC and all others AD.

To represent years before 0000 or after 9999, the standard also permits the expansion of the year representation but only by prior agreement between the sender and the receiver.[7]

An expanded year representation [±YYYYY] must have an agreed-upon number of extra year digits beyond the four-digit minimum, and it must be prefixed with a + or − sign[8] instead of the common AD or BC notation; by convention 1 BC is labelled +0000, 2 BC is labeled -0001, and so on.[9]

Calendar datesEdit

YYYY-MM-DD or YYYYMMDD
YYYY-MM (but not YYYYMM)

Calendar date representations are in the form as shown in the box to the right. [YYYY] indicates a four-digit year, 0000 through 9999. [MM] indicates a two-digit month of the year, 01 through 12. [DD] indicates a two-digit day of that month, 01 through 31. For example, "the 5th of April 1981" may be represented as either "1981-04-05" in the extended format or "19810405" in the basic format.

The standard also allows for calendar dates to be written with reduced precision. For example, one may write "1981-04" to mean "1981 April", and one may simply write "1981" to refer to that year or "19" to refer to the century from 1900 to 1999 inclusive.

Although the standard allows both the YYYY-MM-DD and YYYYMMDD formats for complete calendar date representations, if the day [DD] is omitted then only the YYYY-MM format is allowed. By disallowing dates of the form YYYYMM, the standard avoids confusion with the truncated representation YYMMDD (still often used).

Week datesEdit

Main article: ISO week date
YYYY-Www or YYYYWww
YYYY-Www-D or YYYYWwwD

Week date representations are in the format as shown in the box to the right. [YYYY] indicates the ISO week-numbering year which is slightly different from the calendar year (see below). [Www] is the week number prefixed by the letter W, from W01 through W53. [D] is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday. This form is popular in the manufacturing industries.

There are mutually equivalent descriptions of week 01:

  • the week with the year's first Thursday in it (the formal ISO definition),
  • the week with 4 January in it,
  • the first week with the majority (four or more) of its days in the starting year, and
  • the week starting with the Monday in the period 29 December – 4 January.

If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in week 01. If 1 January is on a Friday, Saturday or Sunday, it is in week 52 or 53 of the previous year (there is no week 00). 28 December is always in the last week of its year.

The week number can be described by counting the Thursdays: week 12 contains the 12th Thursday of the year.

The ISO week-numbering year starts at the first day (Monday) of week 01 and ends at the Sunday before the new ISO year (hence without overlap or gap). It consists of 52 or 53 full weeks. The ISO week-numbering year number deviates from the number of the calendar year (Gregorian year) on a Friday, Saturday, and Sunday, or a Saturday and Sunday, or just a Sunday, at the start of the calendar year (which are at the end of the previous ISO week-numbering year) and a Monday, Tuesday and Wednesday, or a Monday and Tuesday, or just a Monday, at the end of the calendar year (which are in week 01 of the next ISO week-numbering year). For Thursdays, the ISO week-numbering year number is always equal to the calendar year number.

Examples:

  • Monday 29 December 2008 is written "2009-W01-1"
  • Sunday 3 January 2010 is written "2009-W53-7"

For an overview of week numbering systems see week number. The US system has weeks from Sunday through Saturday, and partial weeks at the beginning and the end of the year. An advantage is that no separate year numbering like the ISO week-numbering year is needed, while correspondence of lexicographical order and chronological order is preserved.

Ordinal datesEdit

YYYY-DDD or YYYYDDD

An ordinal date is a simple form for occasions when the arbitrary nature of week and month definitions are more of an impediment than an aid, for instance, when comparing dates from different calendars. As represented above, [YYYY] indicates a year. [DDD] is the day of that year, from 001 through 365 (366 in leap years). For example, "1981-04-05" is also "1981-095".

This format is used with simple hardware systems that have a need for a date system, but where including full calendar calculation software may be a significant nuisance. This system is sometimes incorrectly referred to as "Julian Date", whereas the astronomical Julian Date is a sequential count of the number of days since day 0 beginning 1 January 4713 BC Greenwich noon, Julian proleptic calendar (or noon on ISO date -4713-11-24 which uses the Gregorian proleptic calendar with a year [0000]).

TimesEdit

hh:mm:ss or hhmmss
hh:mm or hhmm
hh

ISO 8601 uses the 24-hour clock system. The basic format is [hh][mm][ss] and the extended format is [hh]:[mm]:[ss].

  • [hh] refers to a zero-padded hour between 00 and 24 (where 24 is only used to denote midnight at the end of a calendar day).
  • [mm] refers to a zero-padded minute between 00 and 59.
  • [ss] refers to a zero-padded second between 00 and 60 (where 60 is only used to denote an added leap second).

So a time might appear as either "134730" in the basic format or "13:47:30" in the extended format.

It is also acceptable to omit lower order time elements for reduced precision:[5] [hh]:[mm], [hh][mm] and [hh] are all used. (The use of [hh] alone is considered basic format.[10])

Midnight is a special case and can be referred to as both "00:00" and "24:00". The notation "00:00" is used at the beginning of a calendar day and is the more frequently used. At the end of a day use "24:00". Note that "2007-04-05T24:00" is the same instant as "2007-04-06T00:00" (see Combined date and time representations below).

Decimal fractions may be added to any of the three time elements. However, a fraction may only be added to the lowest order time element in the representation. A decimal mark, either a comma or a dot (without any preference as stated in resolution 10 of the 22nd General Conference CGPM in 2003,[11] but with a preference for a comma according to ISO 8601:2004)[12] is used as a separator between the time element and its fraction. To denote "14 hours, 30 and one half minutes", do not include a seconds figure. Represent it as "14:30,5", "1430,5", "14:30.5", or "1430.5". There is no limit on the number of decimal places for the decimal fraction. However, the number of decimal places needs to be agreed to by the communicating parties.

Time zone designatorsEdit

<time>Z
<time>±hh:mm
<time>±hhmm
<time>±hh

Time zones in ISO 8601 are represented as local time (with the location unspecified), as UTC, or as an offset from UTC.

If no UTC relation information is given with a time representation, the time is assumed to be in local time. While it may be safe to assume local time when communicating in the same time zone, it is ambiguous when used in communicating across different time zones. It is usually preferable to indicate a time zone (zone designator) using the standard's notation.

UTCEdit

If the time is in UTC, add a Z directly after the time without a space. Z is the zone designator for the zero UTC offset. "09:30 UTC" is therefore represented as "09:30Z" or "0930Z". "14:45:15 UTC" would be "14:45:15Z" or "144515Z".

UTC time is also known as 'Zulu' time, since 'Zulu' is the NATO phonetic alphabet word for 'Z'.

Time offsets from UTCEdit

The offset from UTC is given in the format ±[hh]:[mm], ±[hh][mm], or ±[hh]. So if the time being described is one hour ahead of UTC (such as the time in Berlin during the winter), the zone designator would be "+01:00", "+0100", or simply "+01". This is appended to the time in the same way that 'Z' was above. The offset from UTC changes with daylight saving time, e.g. a time offset in Chicago, would be "−06:00" for the winter (Central Standard Time) and "−05:00" for the summer (Central Daylight Time).

The following times all refer to the same moment: "18:30Z", "22:30+04", "1130−0700", and "15:00−03:30". Nautical time zone letters are not used with the exception of Z. To calculate UTC time one has to subtract the offset from the local time, e.g. for "15:00−03:30" do 15:00 − (−03:30) to get 18:30 UTC.

An offset of zero, in addition to having the special representation "Z", can also be stated numerically as "+00:00", "+0000", or "+00". However, it is not permitted to state it numerically with a negative sign, as "−00:00", "−0000", or "−00". The clause dictating sign usage (clause 3.4.2 in the 2004 edition of the standard) states that a plus sign must be used for a positive or zero value, and a minus sign for a negative value. Contrary to this rule, RFC 3339, which is otherwise a profile of ISO 8601, permits the use of "−00", with the same denotation as "+00" but a differing connotation.[13]

Combined date and time representationsEdit

<date>T<time>

A single point in time can be represented by concatenating a complete date expression, the letter T as a delimiter, and a valid time expression. For example "2007-04-05T14:30".

If a time zone designator is required, it follows the combined date and time. For example "2007-04-05T14:30Z" or "2007-04-05T12:30-02:00".

Either basic or extended formats may be used, but both date and time must use the same format. The date expression may be calendar, week, or ordinal, and must use a complete representation. The time expression may use reduced accuracy. It is permitted to omit the 'T' character by mutual agreement.[14]

DurationsEdit

PnYnMnDTnHnMnS
PnW
P<date>T<time>

Durations are a component of time intervals and define the amount of intervening time in a time interval. They should only be used as part of a time interval as prescribed by the standard. Time intervals are discussed in the next section.

Durations are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S or P[n]W as shown to the right. In these representations, the [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required, but the maximum number of digits for each element should be agreed to by the communicating parties. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced.

  • P is the duration designator (historically called "period") placed at the start of the duration representation.
  • Y is the year designator that follows the value for the number of years.
  • M is the month designator that follows the value for the number of months.
  • W is the week designator that follows the value for the number of weeks.
  • D is the day designator that follows the value for the number of days.
  • T is the time designator that precedes the time components of the representation.
  • H is the hour designator that follows the value for the number of hours.
  • M is the minute designator that follows the value for the number of minutes.
  • S is the second designator that follows the value for the number of seconds.

For example, "P3Y6M4DT12H30M5S" represents a duration of "three years, six months, four days, twelve hours, thirty minutes, and five seconds".

Date and time elements including their designator may be omitted if their value is zero, and lower order elements may also be omitted for reduced precision. For example, "P23DT23H" and "P4Y" are both acceptable duration representations.

To resolve ambiguity, "P1M" is a one-month duration and "PT1M" is a one-minute duration (note the time designator, T, that precedes the time value). The smallest value used may also have a decimal fraction, as in "P0.5Y" to indicate half a year. This decimal fraction may be specified with either a comma or a full stop, as in "P0,5Y" or "P0.5Y". The standard does not prohibit date and time values in a duration representation from exceeding their "carry over points" except as noted below. Thus, "PT36H" could be used as well as "P1DT12H" for representing the same duration.

Alternatively, a format for duration based on combined date and time representations may be used by agreement between the communicating parties either in the basic format PYYYYMMDDThhmmss or in the extended format P[YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]. For example, the first duration shown above would be "P0003-06-04T12:30:05". However, individual date and time values cannot exceed their moduli (e.g. a value of 13 for the month or 25 for the hour would not be permissible).[15]

Time intervalsEdit

<start>/<end>
<start>/<duration>
<duration>/<end>
<duration>

A time interval is the intervening time between two time points. The amount of intervening time is expressed by a duration (as described in the previous section). The two time points (start and end) are expressed by either a combined date and time representation or just a date representation.

There are four ways to express a time interval:

  1. Start and end, such as "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
  2. Start and duration, such as "2007-03-01T13:00:00Z/P1Y2M10DT2H30M"
  3. Duration and end, such as "P1Y2M10DT2H30M/2008-05-11T15:30:00Z"
  4. Duration only, such as "P1Y2M10DT2H30M", with additional context information

Of these, the first three require two values separated by an interval designator which is usually a solidus or forward slash "/". Clause 4.4.2 of the standard notes that: "In certain application areas a double hyphen is used as a separator instead of a solidus." The standard does not define the term "double hyphen", but previous versions used notations like "2000--2002".[16] Use of a double hyphen instead of a solidus allows inclusion in computer filenames.[17] A solidus is a reserved character and not allowed in a filename in common operating systems.

For <start>/<end> expressions, if any elements are missing from the end value, they are assumed to be the same as for the start value including the time zone. This feature of the standard allows for concise representations of time intervals. For example, the date of a two-hour meeting including the start and finish times could be simply shown as "2007-12-14T13:30/15:30", where "/15:30" implies "/2007-12-14T15:30" (the same date as the start), or the beginning and end dates of a monthly billing period as "2008-02-15/03-14", where "/03-14" implies "/2008-03-14" (the same year as the start).

If greater precision is desirable to represent the time interval, then more time elements can be added to the representation. An observation period that has a duration of approximately three days, for example, can be succinctly shown as "2007-11-13/15", i.e. from any time on 2007-11-13 to any time on 2007-11-15. To show a more exact start and end of the observation period, either for clarity or for measurement and recording purposes, the same time interval representation could be expanded to "2007-11-13T00:00/15T24:00", i.e. midnight at the start (T00:00) of 2007-11-13 to midnight at the end (T24:00) of 2007-11-15, a total of 72 hours.

Repeating intervalsEdit

Rnn/<interval>
R/<interval>

Repeating intervals are specified in section "4.5 Recurring time interval". They are formed by adding "R[n]/" to the beginning of an interval expression, where R is used as the letter itself and [n] is replaced by the number of repetitions. Leaving out the value for [n] means an unbounded number of repetitions. So, to repeat the interval of "P1Y2M10DT2H30M" five times starting at "2008-03-01T13:00:00Z", use "R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M".

Truncated representationsEdit

ISO 8601:2000 allowed truncation (by agreement), where leading components of a date or time are omitted. Notably, this allowed two-digit years to be used and the ambiguous formats YY-MM-DD and YYMMDD. This provision was removed in ISO 8601:2004.

UsageEdit

On the Internet, the World Wide Web Consortium (W3C) uses ISO 8601 in defining a profile of the standard that restricts the supported date and time formats to reduce the chance of error and the complexity of software.[18]

RFC 3339 defines a profile of ISO 8601 for use in Internet protocols and standards. It explicitly excludes durations and dates before the common era. The more complex formats such as week numbers and ordinal days are not permitted.[19]

RFC 3339 deviates from ISO 8601 in allowing a zero timezone offset to be specified as "-00:00", which ISO 8601 forbids. RFC 3339 intends "-00:00" to carry the connotation that it is not stating a preferred timezone, whereas the conforming "+00:00" or any non-zero offset connotes that the offset being used is preferred. This convention regarding "-00:00" is derived from earlier RFCs, such as RFC 2822 which uses it for timestamps in email headers. RFC 2822 made no claim that any part of its timestamp format conforms to ISO 8601, and so was free to use this convention without conflict. RFC 3339 errs in adopting this convention while also claiming conformance to ISO 8601.

ISO 8601 is referenced by several specifications, but the full range of options of ISO 8601 is not always used. For example, the various electronic program guide (EPG) standards for TV, digital radio, etc. use several forms to describe points in time and durations. The ID3 audio meta-data specification also makes use of a subset of ISO 8601.[20] The GeneralizedTime makes use of another subset of ISO 8601.

The ISO week date, as of 2006, appeared in its basic form on major brand commercial packaging in the United States. Its appearance depended on the particular packaging, canning, or bottling plant more than any particular brand. The format is particularly useful for quality assurance, so that production errors can be readily traced to work weeks, and products can be correctly targeted for recall.

Related standardsEdit

AustraliaAS ISO 8601-2007
AustriaOENORM EN 28601
BelgiumNBN EN 28601
BrazilNBR 5892:1989
CanadaCSA Z234.5:1989
Czech RepublicČSN ISO 8601
DenmarkDS/ISO 8601:2005
European NormEN 28601:1992
FinlandSFS-EN 28601
FranceNF Z69-200; NF EN 28601:1993-06-01
GermanyDIN ISO 8601:2006-09 (replaced DIN EN 28601:1993-02); related: DIN 5008:2011-04
GreeceELOT EN 28601
HungaryMSZ ISO 8601:2003
IcelandIST EN 28601:1992
IndiaIS 7900:2001
IrelandIS/EN 28601:1993
ItalyUNI EN 28601
JapanJIS X 0301-2002
LithuaniaLST ISO 8601:1997
LuxembourgITM-EN 28601
MéxicoNOM-008-SCFI-2002
NetherlandsNEN ISO 8601 & NEN EN 28601 & NEN 2772
NorwayNS-ISO 8601
People's Republic of ChinaGB/T 7408-2005
PolandPN-90/N-01204
PortugalNP EN 28601
RussiaГОСТ ИСО 8601-2001 (current), ГОСТ 7.64-90 (obsolete)
South AfricaARP 010:1989
SpainUNE EN 28601
SwedenSS-ISO 8601
SwitzerlandSN ISO 8601:2005-08
ThailandTIS 1111:2535 in 1992
UKBS ISO 8601:2004, BS EN 28601 (1989-06-30)
UkraineДСТУ ISO 8601:2010
USANSI INCITS 30-1997 (R2008) and NIST FIPS PUB 4-2

Proprietary extensions Edit

Based upon the concepts of the standard there are some specialized variations in use. For example some implementations may accept '0' as an alternative input value for Sunday.

Check digit (weekday) Edit

The field separator 'T' is replaced by a letter representing the day of the week, e.g. A–G, which may also be present without [time], e.g. "2001-001A" for "Monday, 1 January 2001".

Week of month Edit

Using the rule for determining the first week of the year, months can also unambiguously be divided into four or five weeks. The week of the month may then be appended by the day of the week. The literal 'W' could be dropped without introducing ambiguity in the full form, but is kept for consistency.

Quarters Edit

The year can be divided into four quarters, usually consisting of three full months each, but there are also other conventions. The number of the quarter is preceded by a literal 'Q'. It may be used with any of the subdivisions that apply to years, but sometimes requires less digits: ordinal day ([DD]), week (W[WW]) and day of week ([D]), month ([M]) and day of month ([DD]) or week of month ([W]) and day of week.

See alsoEdit

Notes Edit

  1. 1.0 1.1 ISO, FAQ: Numeric representation of Dates and Time
  2. Template:Cite
  3. TC 154 Processes, data elements and documents in commerce, industry and administration, Technical committeesTemplate:Spaced ndashISO
  4. ISO 8601:2004 clause 2.3.3 basic format
  5. 5.0 5.1 ISO 8601 uses the word accuracy, not precision, in the relevant clauses, e.g: 2.3.7 representation with reduced accuracy.
  6. Doggett, L. E. (1992). "Calendars". In P. K. Seidelmann. Explanatory Supplement to the Astronomical Almanac. Sausalito, California: University Science Books. p. 580. Template:Hide in printTemplate:Only in print. http://astro.nmsu.edu/~lhuber/leaphist.html. "The Gregorian calendar today serves as an international standard for civil use." 
  7. Template:Cite
  8. ISO 8601:2004 clauses 3.4.2, 4.1.2.4
  9. For example, see Annex B.1.1 of the standard.
  10. ISO 8601:2004 clause 4.2.2.3 Representations with reduced accuracy
  11. "NIST TechBeat 2006-11-22". NIST. 2006-11-22. http://www.nist.gov/public_affairs/techbeat/tb2006_1122.htm#decimal. Retrieved 2012-05-06. "Decimals Score a Point on International Standards ... It soon may be possible to write international standards documents with decimal points in them." 
  12. Template:Cite
  13. RFC 3339 – Unknown local offset convention
  14. "ISO 8601:2004(E)". ISO. 2004-12-01. "4.3.2 NOTE: By mutual agreement of the partners in information interchange, the character [T] may be omitted in applications where there is no risk of confusing a date and time of day representation with others defined in this International Standard." 
  15. ISO 8601:2004 clause 4.4.3.3 Alternative format
  16. "Info on ISO 8601, the date and time representation standard". Cs.tut.fi. http://www.cs.tut.fi/~jkorpela/iso8601.html. Retrieved 2012-08-29. 
  17. "ISO 8601 - Getting with the Times (and Dates)". Hydrogold. 2012-01-01. http://www.hydrogold.com.au/news_2012.html#iso8601. Retrieved 2013-08-13. 
  18. Note about Date and Time Formats to W3C from Reuters
  19. RFC 3339, section 5.6
  20. Nilsson, M. (2000-11-01). "ID3 tag version 2.4.0 - Main Structure". id3.org. pp. §4. http://www.id3.org/id3v2.4.0-structure. Retrieved 2009-09-27. 

External linksEdit

Implementation overview

Around Wikia's network

Random Wiki