コンテンツにスキップ

ISO 8601

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Yoshihisa y (会話 | 投稿記録) による 2013年4月16日 (火) 14:00個人設定で未設定ならUTC)時点の版 (→‎タイムゾーン指定子)であり、現在の版とは大きく異なる場合があります。

ISO 8601形式の時刻表記例[1]
2024-09-06T01:43:03+00:00

ISO 8601日付時刻の表記に関する国際規格。 最新版は2004年に発行されたISO 8601:2004 で、古い版としてISO 8601:2000 、ISO 8601:1988 があった。いずれも正式な題は Data elements and interchange formats – Information interchange – Representation of dates and times である。

対応する日本工業規格として、JIS X 0301(旧JIS C 6262)があり、ISO 8601:2000 の翻訳がJIS X 0301:2002 「情報交換のためのデータ要素及び交換形式 ― 日付及び時刻の表記」(英語題はISO 8601に同じ)に収められている[2]

日付

ISO 8601では日付の指定の仕方に、年と月と日を指定する方法、年と年内の日の番号を指定する方法、年と週と曜日を指定する方法の3つがある(それぞれは下で詳説)。

ISO 8601では日付の表記にグレゴリオ暦を用いることになっているので、ユリウス暦の用いられていた時代の日付を表す際にはグレゴリオ暦に換算する必要がある。

基準としては、「西暦2000年1月1日土曜日とする。」と規定している。

年の基本表記は4桁の数字である。なお0000から1582の範囲を使用する場合は暦法が異なるため事前に通信の送信側と受信側での合意が必要である。 0000から9999の範囲外の年を表記する場合には事前に通信の送信側と受信側での合意の上で先頭に正負の符号(+あるいは-)を付して任意の桁数の数字を追加することができる(追加であるため年の桁数は4桁以上である)。なお、拡張表記であるため事前の合意次第では+019332が有効でも+000299は無効という場合もありうる。 年の表記は 0001西暦1年を表し、0000紀元前1年-0001紀元前2年である。これは西暦0年が存在しないためである(ちなみに0世紀も存在しない)。

月の表記は 01 から 12 の値を取り、それぞれ1月から12月を表す。

基本表記では日付、時刻のいずれにおいても区切り文字を用いないが、拡張表記では可読性を上げるため、ハイフン (-) やコロン (:) を用いることができる。日付と時刻の組合せにおいてこれらの混在は許されず、統一しなければならない[疑問点]

年と月と日

YYYY-MM-DD または YYYYMMDD
YYYY-MM (YYYYMM は不可 )
YYYY

YYYY-MM-DD と表記する。

DDMM-DD は省くことが可能であり、その場合は月や年を表す。

  • 例:
    • 2004-04 (200404)
      2004年4月
    • 2004
      2004年
    • 20
      2000年台(2000年から2099年までの100年間。原文にcenturyと表現されているが21世紀(2001年から2100年まで)とは異なる(JIS X 0301ではcenturyを百年台と訳している。)。)

年と年内の日の番号

YYYY-DDD と表記する。 DDD は、年内の日の番号である。1月1日001 と表記し、12月31日平年では 365閏年では 366 になる。

  • 例:
    • 2004-092 (2004092)
      2004年の第92日目、すなわち4月1日を表す。

年と週と曜日

YYYY-Www-D と表記する。ww は年内の暦週の番号で、年の第1週は 01、最終週は 52 または 53 となる。

  • D は曜日を表し、月曜日が 1、日曜日は 7 である。「8」「9」は表記数値とされない(エラー扱い)。
  • 例:
    • 2004-W14-4 (2004W144)
      2004年の第14週の木曜日、すなわち4月1日を表す。

ある年における、「最初の木曜日を含む週が、その年の第1週である。」と規定されている。

これはJIS X 0301にも例示されている通り、

  • 「第1週は事実上、1月4日を含む週である。」という基準認識に等しい。
  • 年初において以下の曜日に該当する場合、その日は新年の曜日としては扱わず、あくまで旧年最終週の曜日として扱う、という事を意味する。
  • 同様に、年末において以下の曜日に該当する場合、その日は当年最終週の曜日としてでは無く、翌年第1週の曜日として扱うものとされている。

時刻

時刻の表記には hh:mm:ss の形式が用いられる。hh は時で 00 から 24 の値をとる。mm は分で 00 から 59 の値をとる。ss は秒で 00 から 59 及び閏秒に 60 の値をとる。ss, mm:ss の部分は省略可能で hh:mm, hhの形式も使用可能。

最も下の要素では小数値を用いることができる。小数点にはコンマ (,) が推奨されており、ピリオド (.) を用いることもできる。

  • 例:
    • 11:30:30,5 (113030,5)
      11時間30分30.5秒
    • 11:30,5 (1130,5)
      11:30:30 と等価。
    • 11.5
      11:30 と等価。

日の変わり目の表し方は2通り以上あり、00:0024:00, 24:00:00 などで表すことができるが、00:00は日の初めで 24:00 は日の終わりを表す(2004-03-31T24:00Z2004-04-01T00:00Z と同じ時刻を表す)。

タイムゾーン指定子

協定世界時 (UTC)

時刻の後ろに Z を添える。

  • 例:
    • 2004-04-01T12:00Z (20040401T1200Z)
      UTCでの2004年4月1日の正午
UTC以外のタイムゾーン

時刻の後ろに ±hh:mm, ±hhmm, ±hh のいずれかを添える。ただしUTCを表す場合は必ずプラス(+)を用いる(+0000)。

日付と時刻の組合せ

<date1> T <time1> のように日付と時刻の間にTを挟んで表記する。(例:2004-04-01T12:00:00+09:00日本時間での2004年4月1日の正午)

期間

特定の期間を表す場合、開始日時/終了日時で表記される。それぞれの日時は上述の日付あるいはそれに付属した時刻によって表記され、その2つの時刻の間に半角スラッシュ ("/") を挿入する。

  • 例:
    • 2004-04-01/2005-07-01
      2004年4月1日から2005年7月1日まで
    • 2004-04-01T12:00:00+09:00/2007-08-31T15:00:00+09:00
      日本時間 (JST) で、2004年4月1日12時0分0秒から2007年8月31日15時0分0秒まで

なお期間の明示にあたっては、開始日時と終了日時で年あるいは年と月が同一である場合、それを省略することができる。

  • 年が同一の場合の例:
    • 2004-04-01/07-01
      2004年の4月1日から7月1日まで
  • 年と月が同一の場合の例:
    • 2004-04-01/15
      2004年4月の1日から15日まで

脚注

  1. ^ 協定世界時によるページ生成時刻
  2. ^ JIS X 0301では、必要に応じて元号明治から平成まで)に基づく表記を認める規定が追加されている。元号を識別する必要があれば、漢字英字頭文字を識別記号として使用できる。例: H16.04.01

外部リンク

資料

すべて英語

実装