ISO 8601
継続時間は、ある期間中に含まれる時間の合計を定義し、P[n]Y[n]M[n]DT[n]H[n]M[n]S、または、右に示すように、P[n]Wの形式で表される。この表記において、[n]は、それぞれの日付と時間の要素に対応する値と置換する。先頭の0は必須ではないが、各要素の数字の最大文字数は通信者間で取り決める必要がある。大文字のP、Y、M、W、D、T、H、M、およびSは、各日付と時間の要素の指定子であり、他の文字には置き換えない。
P は期間を表す指定子(period を表す)であり、継続時間表現の先頭に置かれる。
Y は年の指定子であり、年を表す数値の後に置かれる。
M は月の指定子であり、月を表す数値の後に置かれる。
W は週の指定子であり、週を表す数値の後に置かれる。
D は日の指定子であり、日を表す数値の後に置かれる。
T 時間の指定子であり、継続時間表現の時間の部分の前に置く。 H は時間の指定子であり、時間を表す数値の後に置かれる。 M は分の指定子であり、分を表す数値の後に置かれる。 S は秒の指定子であり、秒を表す数値の後に置かれる。
たとえば、P3Y6M4DT12H30M5Sは、「3年、6か月、4日、12時間、30分、5秒」という継続時間を表現している。
指定子を含む日付と時間の要素は、その値が0の時には省略することができる。より低い順序の要素も精度を削減するために省略することができる。たとえば、P23DT23HとP4Yは、ともに許される継続期間の表現である。しかし、少なくとも1つの要素は表さなければならないため、Pは0秒という継続時間の表現としては不正である。
ほとんどのプログラミング言語で、日付および時刻を扱う方法は標準ライブラリに入っているか、別のライブラリがある。例えば、Java の場合は java.time パッケージで扱い、.NET Framework はラウンドトリップ書式指定子で、JavaScript は Date.toISOString() などで、Python は datetime.isoformat() などで扱える。
グレゴリオ暦による年月日は、パリにおけるメートル条約の調印年月日を1875年5月20日とすることによって定義されている。
曜日は、2000年1月1日を土曜日とすることによって定義されている。
週の最初の日は、月曜日である。
月日、時分秒の起点の指定は特にない。