ISO 8601:日付と時刻の国際標準規格
ISO 8601は、
国際標準化機構(ISO)が定めた、
日付と
時刻の表記に関する国際規格です。異なる国や文化圏で
日付や
時刻の表記が異なることが原因で生じる混乱を避けるため、世界共通の表記法を定めています。
背景
例えば、「11/09/12」という表記は、
日本で2011
年9月12
日、イギリスで2012
年9月11
日、アメリカで2012
年1
1月9
日と、国や地域によって解釈が異なります。ISO 8601は、このような曖昧さを解消し、
日付と
時刻の情報を正確に伝達するための統一された方法を提供します。
規格の概要
ISO 8601では、
日付と
時刻の各要素を「大→小」の順に並べることを基本としています。具体的には、
年、月、
日、時、
分、
秒の順で表記します。また、区切り文字にはハイフン「-」やコロン「:」を使用し、スラッシュ「/」などは使用しません。
日付の表記
- - 基本形式: YYYYMMDD (例:20220904)
- - 拡張形式: YYYY-MM-DD (例:2022-09-04)
- - 基本形式: hhmmss (例:160748)
- - 拡張形式: hh:mm:ss (例:16:07:48)
日付と
時刻を組み合わせる際は、
日付と
時刻の間に「T」を挿入します。
- - 例: 2022-09-04T16:07:48.53
タイムゾーンの表記
協定
世界時(UTC)の場合は「Z」を付与します。それ以外のタイムゾーンでは、「+」または「-」に続けて時差を表記します。
- - 例: 2022-09-04T16:07:48+09:00(日本時間)
規格の歴史
ISO 8601は、以下の経緯で改訂されてきました。
- - ISO 2014:1976:最初の全数字形式での日付表記
- - ISO 8601:1988:日付と時刻の表記に関する初の規格
- - ISO 8601:2000:改訂版
- - ISO 8601:2004:改訂版
- - ISO 8601-1:2019 および ISO 8601-2:2019:規格を2分冊化
- - ISO 8601-1:2019/Amd 1:2022:技術的な修正
基本形式と拡張形式
ISO 8601には、基本形式と拡張形式の2種類の表記方法があります。基本形式は区切り文字を使用せず、拡張形式は区切り文字を使用することで可読性を高めています。
- - 基本形式: YYYYMMDDThhmmss+0900(例: 20220904T160748+0900)
- - 拡張形式: YYYY-MM-DDThh:mm:ss+09:00(例: 2022-09-04T16:07:48+09:00)
これらの形式は、
日付と
時刻の組み合わせにおいて混在させることはできません。どちらかの形式に統一する必要があります。
起点
ISO 8601では、以下の点を起点としています。
日付の表記方法
ISO 8601では、以下の3つの方法で
日付を指定できます。
1.
年、月、日: YYYY-MM-DD または YYYYMMDD
2.
年と年内の日の番号: YYYY-DDD(例:2022-247は2022
年の247
日目)
3.
年、週、曜日: YYYY-Www-D(例:2022-W35-2は2022
年の第35
週の火曜
日)
年の表記
通常は4桁の数字で表記しますが、0000
年以前や9999
年以降は、事前の合意に基づき、符号付きで5桁以上の数字で表記できます。
月の表記
月の表記は、01から12までの2桁の数字で表記されます。
時刻の表記方法
時刻は24
時間制で表記します。12
時間制のオプションはありません。
表記は、hh:mm:ss の形式です。
秒は
小数点以下で表記することも可能です。
例: 18:30:09.57
日付と
時刻を組み合わせる場合は、
日付と
時刻の間に「T」を挿入します。例: 2022-09-04T16:07:48
継続
時間は、ある期間中に含まれる
時間の合計を定義し、P[n]Y[n]M[n]DT[n]H[n]M[n]S、または、P[n]Wの形式で表されます。
例:P3Y6M4DT12H30M5S は「3
年、6か月、4
日、12
時間、30
分、5
秒」という継続
時間を表します。
期間と時間間隔
期間は、開始
日時と終了
日時をスラッシュ「/」で区切って表記します。
例: 2022-09-04/2023-03-04
繰り返し間隔
繰り返し間隔は、R[n]/ を先頭に付けます。n は繰り返し回数を意味し、省略した場合または-1を指定した場合は無制限の繰り返しを意味します。
日本におけるISO 8601
日本では、JIS X 0301でISO 8601をベースに、
元号による
年の表記を規定しています。
元号は「明」「大」「昭」「平」「令」または「M」「T」「S」「H」「R」で表し、
日付は「YY.MM.DD」または「NYY.MM.DD」の形式で表記します。
例: R04.09.04(
令和4
年9月4
日)
多くの
プログラミング言語で、ISO 8601形式の
日付と
時刻を扱うための標準ライブラリや機能が提供されています。
まとめ
ISO 8601は、
日付と
時刻の表記におけるあいまいさを解消し、国際的な情報交換を円滑にするための重要な国際規格です。この規格を理解し、適切に利用することで、正確な
時間情報を共有することができます。