JavaScript

w3cdtf.js

W3CDTF (W3C Date and Time Formats) 形式のテキストとDateオブジェクトとの変換をDateクラス/オブジェクトに追加します。

ダウンロード

w3cdtf.js

リファレンス

メソッド:
toW3CDTF()
書式:
date.toW3CDTF(granularity, tzd)

※dateはDateクラスのインスタンス(=Dateオブジェクト)。toW3CDTF()はインスタンス・メソッドです。

引数:
granularity
粒度。1~6の値を指定。省略可。
tzd
タイムゾーン。「+09:00」の形式か「GMT」「UTF」「Z」のいずれか。省略可。
戻り値:
W3CDTFで定められた形式の、日付/時刻を表すテキスト。
説明:

粒度(granularity)には1~6を指定。1~6以外は5が指定されたのと同じになる。粒度6の秒の小数部は、JavaScriptのDateでは扱えないので常に「.000」。

tzdは「GMT」「UTC」「Z」のいずれかを指定すれば世界標準時のフォーマットになる。「+09:00」の形式で指定すると、指定されたオフセットに変換する。省略された場合または形式に誤りがある場合は、現在のロケールのタイムゾーンとなる。

granularity returnValue (string) tzd = "GMT" | "UTF" | "Z"
1 2007 2007
2 2007-09 2007-09
3 2007-09-19 2007-09-19
4 2007-09-19T14:04+09:00 2007-09-19T05:04Z
5 2007-09-19T14:04:52+09:00 2007-09-19T05:04:52Z
6 2007-09-19T14:04:52.000+09:00 2007-09-19T05:04:52.000Z

※時刻を含まない形式のときはタイムゾーンを考慮しない。「2007-09-19T00:00:00+09:00」=「2007-09-18T15:00:00Z」→「2007-09-18」とはならない。

例:
    var dateValue = new Date();
    var dateText = dateValue.toW3CDTF(); // granularityに「5」を指定したのと同じ
    var dateText = dateValue.toW3CDTF(3);
    var dateText = dateValue.toW3CDTF(null, "Z");
    var dateText = dateValue.toW3CDTF(4, "GMT");
    var dateText = dateValue.toW3CDTF(6, "UTC");
    var dateText = dateValue.toW3CDTF(0, "+01:00"); // granularity=「0」は無効なので「5」と同じ
    var dateText = dateValue.toW3CDTF(5, "-00:00"); // 「+00:00」と「-00:00」は「GMT」の指定と同義で、同じ結果になる。
    var dateText = dateValue.toW3CDTF(2, "-03:00"); // 時刻を含まない形式なので、tzdの指定は無効。
メソッド:
fromW3CDTF()
書式:
Date.fromW3CDTF(text)
引数:
text
W3CDTFで定められた形式の、日付/時刻を表すテキスト。
戻り値:
Dateオブジェクト。
説明:
textの形式はW3CDTFで定められている形式。以下のいずれか。該当しないときは「1900/01/01 00:00:00」。
text returnValue (Date)
2007 2007/01/01 00:00:00
2007-09 2007/09/01 00:00:00
2007-09-19 2007/09/19 00:00:00
2007-09-19T14:04+09:00 2007/09/19 14:04:00
2007-09-19T14:04Z 2007/09/19 23:04:00
2007-09-19T14:04:52+09:00 2007/09/19 14:04:52
2007-09-19T14:04:52Z 2007/09/19 23:04:52
2007-09-19T14:04:52.001+09:00 2007/09/19 14:04:52
2007-09-19T14:04:52.001Z 2007/09/19 23:04:52

※「Z」はグリニッジ標準時(GMT)=世界標準時(UTC)のこと。「+00:00」と「-00:00」(GMTと同義)については不明。

※秒の小数部は無視される。

例:
    var dateValue = Date.fromW3CDTF("2001-01-01T23:59:59+09:00");