ISO 8601とは?日付・時刻の書式と規則をわかりやすく解説
ISO 8601を図解と実例でやさしく解説。日付・時刻の書式と規則、利点(曖昧さ回避・並び替え対応)を短時間で理解。
ISO 8601は、日付や時刻をコンピュータや人が誤解なく扱えるように定めた国際規格です。基本的な考え方は「単位を大きい順(年→月→日)」に並べることで、並べ替えや比較が容易になる点にあります。
基本のルール
- 年月日を年-月-日の順で書く(例:2020-05-23)。年が最も大きな単位、日が最も小さな単位になります。
- 時刻は24時間制で表記し、時:分(:秒)の順に並べます(例:19:29 や 19:29:00)。
- 数値は必要に応じて先頭にゼロを付ける(例:5月は05、9日は09)。
- 可読性のためにハイフンやコロンで区切る「拡張形式(extended)」と、区切りを省いた「基本形式(basic)」の両方が許容されます(拡張形式:2020-05-23、基本形式:20200523)。
日付の表記例
- 標準的な日付(拡張形式):2020-05-23
- 基本形式(区切りなし):20200523
- 序数日(年内の通日を示す):2020-123 はその年の123日目
- 週日付(週番号を使う表記):2020-W21-6 のように「年–W週番号–曜日」で表現(曜日は1=月曜〜7=日曜)
時刻の表記例
- 時分のみ(拡張形式):19:29
- 時分秒:19:29:00
- 基本形式(区切りなし):192900(時分秒)
- 分や秒の省略も可能(用途による)
日付と時刻の結合(日時)
日付と時刻を組み合わせる際は、間に大文字の「T」を挿入します。タイムゾーン情報を付けることも一般的です。
- 例:2020-05-23T19:29:00
- UTCを示す場合:2020-05-23T10:29:00Z(末尾のZはZulu=UTC)
- タイムゾーンオフセットをつける場合:2020-05-23T19:29:00+09:00
タイムゾーンと UTC(Z)
- Zは協定世界時(UTC)を表します。
- ローカル時刻との差を表す場合は ±hh:mm や ±hhmm、±hh の形式が使えます(例:+09:00 は日本標準時)。
機械利用・ソートの利点
ISO 8601 の大きな利点は、文字列のままアルファベット順(辞書順)に並べると、そのまま年代順になる点です。たとえばファイル名やログで「YYYY-MM-DD...」という形式を使えば、並べ替えが簡単にできます。元の文章にある通り、コンピューターや人間がISO 8601の日付をアルファベット順に並べると、年代順にもなります。
その他の機能(期間・間隔)
ISO 8601 は日付・時刻だけでなく、期間(duration)や繰り返し、間隔(interval)も定義しています。代表的な期間表記の例:
- 期間:P3Y6M4DT12H30M5S(3年6か月4日と12時間30分5秒)
- 繰り返しや間隔も標準化されており、APIやスケジューラで使われることがあります。
実務での利用例
- Web API の日付・時刻指定(JSON や HTTP ヘッダ)
- データベースのタイムスタンプ
- ログファイルやバックアップファイルのファイル名
- 国際化が必要なシステムでの一元的な日時表現
注意点
- 日常生活では国や文化ごとに異なる書式(例:米国の MM/DD/YYYY、日本の「YYYY年MM月DD日」など)が一般的で、ISO 8601 が日常表記として広く使われているわけではありません。
- 表記のバリエーション(基本形式/拡張形式、オフセットの書き方など)があるため、機械で扱う場合は受け入れるフォーマットを明確にすることが大切です。
- タイムゾーンや夏時間(DST)による変換には注意が必要です。UTC 表示(Z)やオフセットを明示する習慣をつけると誤解を防げます。
まとめると、ISO 8601 は「年→月→日」「24時間制」「先頭ゼロ」などの明確なルールで日時を表す標準です。コンピュータ処理や国際的なデータ交換に向いており、用途に応じて拡張形式/基本形式やタイムゾーン表記を使い分けます。日常書式とは異なるため、用途に応じて使い分けるのが現実的です。
質問と回答
Q: ISO 8601とは何ですか?
A: ISO 8601は日付と時刻をコンピュータが理解しやすいように記述する国際規格です。
Q: ISO 8601規格はどのように数字を置くことを基本としているのですか?
A: ISO 8601規格は、大きな数字を最初に、小さな数字を最後に置くことを基本としています。
Q: ISO 8601フォーマットにおけるYEAR-MONTH-DAYの順番は?
A: ISO 8601書式では、YEAR-MONTH-DAYの順番で表記します。
Q: ISOの基本的な今日の日付はどのようなものですか?
A: ISOの基本的な今日の日付は2022-11-10のようになります。
Q: ISO 8601の日付はどのようにアルファベット順に並べられるのですか?
A: コンピュータや人間がISO 8601の日付をアルファベット順に並べると、年代順にもなります。
Q: どの国の人でも、日常的にこの規格を使って日付を書くのが一般的ですか?
A: 現在のところ、どの国の人々も日常生活でこの規格を使って日付を書くことは一般的ではありませんが、多くのアジア諸国ではYEAR-MONTH-DAYの順序に従っています。
Q: 基本ISO時刻とは何ですか?
A: 基本ISO時間は17:36です。
百科事典を検索する