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");