Date and Time Formats

Takami Torao
  • このエントリーをはてなブックマークに追加
原文
Status of this Document

1997年9月15日 W3C へ提出

このバージョン:
http://www.w3.org/TR/1998/NOTE-datetime-19980827
最新バージョン:
http://www.w3.org/TR/NOTE-datetime
著者:
Misha Wolf <misha.wolf@reuters.com>
Charles Wicksteed <charles.wicksteed@reuters.com>
ドキュメントの状態

このドキュメントの状態

このドキュメントは W3 コンソーシアムで議論を行う事のみを目的とするノートである。これは内容に対して保障をせず、またこのノートによって対処される問題にいかなるリソースも割り当てないであろう事を意味している。

このドキュメントはロイター社から W3C への提案である。この譲渡に関しては Acknowledged Submissions to W3C を参照。

このドキュメントに対するコメントは datetime-comments@w3.org へ送付すること。

概要

このドキュメントは ISO 8601, 日付と時刻の表現に関する国際標準のプロフィールを定義する。ISO 8601 には多数の日付/日時フォーマットが記述されている。しかしソフトウェアの問題スコープと複雑さを削減するためにサポートするフォーマットを最小限に抑えることは有用である。このプロフィールでは必要条件の大部分を満たすと思われるいくつかの日付/日時フォーマットを定義する。


導入

日付と時刻表記に関する国際標準は ISO 8601 である。この完全参照番号は ISO 8601 : 1988 (E)、タイトル "Date elements and interchange formats - Information Interchange - Representation of dates and times" である。Markus Kuhn によって ISO 8601 の論議が記述されている。

ISO 8601 は多数の日付/日時フォーマットについて説明している。例えば、(ハイフンなどの) 句点を持たない基本フォーマット、句点を持つ拡張フォーマット、さらに要素が省略可能かどうかなどである。このプロフィールでは ISO 8601 日付と時刻で正当となるフォーマットの制限された範囲を定義する。目的は World Wide Web 関連標準で ISO 8601 の利用を単純化することと、これらの標準の開発者とユーザが自分で ISO 8601 のコピーを入手する必要を避けるためである。

ISO 8601 に関する特定の問題は、年フィールドから世紀 (上位2桁) が省略可能なことであり、我々が 2000 年に到達する頃に問題を引き起こす可能性がある。このプロフィールは全ての状況で年を 4 文字の数字で表現することでこの問題を回避する。

このプロフィールは日付と時刻を明確な表現を必要とする標準によって採用されるかもしれない。粒度と柔軟性に関して必要条件が存在するような別の標準では、このプロフィールはいくつかの選択肢を提供する。採用する標準はこれらの選択肢のうちどれが許されるのかを示さなければならない。


フォーマット

別の標準では日付と時刻の粒度を異なるレベルで必要とする可能性があるため、このプロフィールでは 6 レベルを定義する。このプロフィールを参照する標準はこれらのうちのひとつ以上を指定しなければならない。例えば 2 つの異なる精度を持つ日付の比較結果のように、ある標準が複数の粒度を許可するのであれば、日付と時刻の精度損失の重要性を記述しなければならない。

フォーマットは以下の通りである。ここで示される構成要素が正確にこの句読点で表現されていなければならない。ISO 8601 で示されているように、時刻要素の開始を示すための素の文字 "T" が文字列内に出現することに注意。

   年:
      YYYY (例 1997)
   年月:
      YYYY-MM (例 1997-07)
   完全な日時:
      YYYY-MM-DD (例 1997-07-16)
   完全な日時と時分:
      YYYY-MM-DDThh:mmTZD (例 1997-07-16T19:20+01:00)
   完全な日時と時分秒:
      YYYY-MM-DDThh:mm:ssTZD (例 1997-07-16T19:20:30+01:00)
   完全な日時と小数点以下の秒を示した時分秒:
      YYYY-MM-DDThh:mm:ss.sTZD (例 1997-07-16T19:20:30.45+01:00)

ここで:

     YYYY = 4 数字の年
     MM   = 2 数字の月 (01=1月など)
     DD   = 2 数字の月 (01 から 31)
     hh   = 2 数字の時 (00 から 23) (am/pm は禁止)
     mm   = 2 数字の分 (00 から 59)
     ss   = 2 数字の秒 (00 から 59)
     s    = 秒の 10 進数小数点を表す 1 文字以上の数字
     TZD  = タイムゾーン表記 (Z または +hh:mm or -hh:mm)

このプロフィールでは秒の 10 進数小数点が何桁になるかについては言及しない。秒の小数点を許可する標準では小数点桁数の最小値 (1 以上) と最大値 ("無制限" をとるかもしれない) の両方を指定しなければならない。

このプロフィールではタイムゾーンオフセットを扱う 2 つの方法を定義する:

  1. UTC (世界協定時) の時刻は特別な UTC 表記 ("Z") で示される。
  2. ローカル時刻で表される時刻は時と分のタイムゾーンオフセットとともに示される。タイムゾーンオフセット "+hh:mm" のローカル時刻は、時刻 "hh" 時と "mm" 分を UTC に加算することで得られることを示す。タイムゾーンオフセット "-hh:mm" のローカル時刻は、時刻 "hh" 時と "mm" 分をUTC から減算することで得られることを示す。

このプロフィールを参照する標準は、上記 2 つのタイムゾーンの取り扱いのうち一方または両方を許可しなければならない。


1994-11-05T08:15:30-05:00 はアメリカ東部標準時で 1994 年 11 月 5 日 8 時 15 分 30 秒を示している。

1994-11-05T13:15:30Z は同じ時刻を簡単に記している。


謝辞

このドキュメントは Chris Newman の Internet Draft "Date and Time on the Internet" (draft-newman-datetime-01.txt) に基づいている。