訳の正確性を保証するものではありませんので必要に応じて原文であるEcma InternationalのECMA-262にある ECMA-262.pdf ( ECMA-262 5.1 Edition )を参照下さい。
訳:2012年04月 webzoit.net
ECMAScriptは、ISO 8601 拡張書式の平易化に基づき、date-times(日付時刻)における文字列変換の書式を定義します。 その書式は、次のように
YYYY-MM-DDTHH:mm:ss.sssZ
となります。 項目の場合は次のようになります。
YYYY (YYYYは、)グレゴリオ暦の 0000 から 9999 までの10進数字 - "-" (ハイフン)は、文字列内に文字通り(リテラルとして)2度現れる MM (MMは、) 01 (January) から 12 (December) までの1年を構成する月 DD (DDは、) 01 から 31 までの月を構成する日 T "T" は、時間要素の開始を示す文字列内に文字通り(リテラルとして)現れる HH (HHは、) 00 から 24 までの2つの10進数として真夜中(午前0時)からの経過である完全な時間(hours)単位の数 : ":" (コロン) は、文字列内に文字通り(リテラルとして)2度現れる mm (mmは、) 00 から 59 までの2つの10進数として時間(hour)の開始からの完全な分(minutes)単位の数 ss (ssは、) 00 から 59 までの2つの10進数として分(minute)の開始からの完全な秒(seconds)単位の数 . "." (dot) は、文字列内に文字通り(リテラルとして)現れる sss (sssは、) 3つの10進数値として秒(second)の開始からの完全なミリ秒(milliseconds)単位の数 Z (Zは、) (UTC における) "Z"、または、式 HH:mm によって続く "+"、"-" の何れかとして指定したタイムゾーン(時間帯)のオフセット
この書式は、日付だけの書式を含みます。
YYYY YYYY-MM YYYY-MM-DD
それは、また、日付だけの書式の次の時間書式の1つによって直後に後続するオプションで付加したタイムゾーン(時間帯)を伴う"date-time"書式も含みます。
THH:mm THH:mm:ss THH:mm:ss.sss
全ての数字は10を基準にしなければいけません。 MM や DD 項目がない場合には、その値として"01"が使用されます。 HH、mm、ss 項目がない場合、その値として"00"が使用され、欠落した sss 項目は、 "000" となります。 タイムゾーン(時間帯)の値がない場合のオフセットは"Z"です。 書式文字列にある(構文エラーと同等な領域外の)不正な値とは、当該書式の有効なインスタンスではない書式文字列であるという意味です。 [注釈 1] 毎日共に真夜中に始まり、真夜中に終わる2つの表記 00:00 と 24:00 は、任意の日と関連付けることが可能な2つの真夜中を区別する為に利用可能とされています。 これが意味するところは、次の2つの表記が、まさに同じ時間内の時点を参照するということです。
1995-02-04T24:00 と 1995-02-05T00:00
[注釈 2] CET ( Central European Time / 中央ヨーロッパ標準時 )、 EST ( Eastern Standard Time / 東部標準時 )等々のような国家、市民レベルのタイムゾーン(時間帯)における特別な略語である国際標準は、全く存在しません。 また、時々、2つの全く異なるタイムゾーンであるにも関わらず同じ略語であるという場合もあります。 こうした理由から、 ISO 8601 とこの書式では、日付と時刻の数値表現を指定します。
ECMAScriptは、UTC 1970年01月01日からの前後何れか約 285,426 年を表示できるよう(拡張した年である)6ケタの年を指定する機能を要求します。 0の前、または、9999の後の年を表現することについて ISO 8601 では、年表現の拡張を許容しますが、送信者と受信者間での事前の同意がある場合に限られます。 拡張した年表現のように平易化したECMAScriptの書式では、2つの余分な年の桁を持ち、前置した + や - 符号を常に伴うようにしましょう。 その年 0 は、正と考えられ、その為、前置した1つの + 符号を伴います。
[注釈] 拡張年の例 -283457-03-21T15:00:59.008Z 283458 B.C. -000001-01-01T00:00:00Z 2 B.C. +000000-01-01T00:00:00Z 1 B.C. +000001-01-01T00:00:00Z 1 A.D. +001970-01-01T00:00:00Z 1970 A.D. +002009-12-15T00:00:00Z 2009 A.D. +287396-10-12T08:59:00.992Z 287396 A.D.