2014/05/20

【JavaScript】Dateオブジェクトで生成される文字列の見方

【JavaScript】Dateオブジェクトに指定するパラメータの見方

Dateオブジェクトを使用すると,

Tue Feb 26 2013 23:11:02 GMT+0900 (東京 (標準時))
といったオブジェクトが生成されます.

初歩的な事ですが,このデータを扱う際に少しハマったので,備忘録的にまとめたいと思います.

※筆者の環境はGoogle Chromeです.その他の環境では出力結果等に違いが出る可能性がありますので,適宜読み替えてください.

目次

Dateオブジェクト

JavaScriptで日付に関することを扱うには,Dateオブジェクトを使用します.

オブジェクト生成の際にパラメータを指定しない場合は,生成時点での日付情報が格納されたオブジェクトが生成され,パラメータに日付や時刻を文字列によって指定した場合には,その日付や時刻の情報が格納されたオブジェクトが生成されます.

//パラメータ指定なし
var date_a = new Date();

//パラメータ指定あり
var date_b = new Date("2014/5/20 8:00:00");

生成された文字列

生成したDateオブジェクトを,ウェブブラウザのコンソールに出力して確認してみると,

Sat Mar 22 2014 12:05:35 GMT+0900 (東京 (標準時))

このように出力されています.

出力時のフォーマットは,
曜日 月 日 年 時:分:秒 グリニッジ標準時との時差(表示している場所)
となっているので,グリニッジ標準時では
2014年3月22日(土) 03時05分35秒となります.

例として,YouTubeの動画の投稿時刻は次のようになっています.
Tue, 04 Mar 2014 04:24:52 -0800
これを,Dateオブジェクトのパラメータに指定して生成すると,
Tue Mar 04 2014 21:24:52 GMT+0900
となり,グリニッジ標準時では
2014年3月4日(火曜) 12時24分52秒となることがわかります.

まとめ

TwitterやFacebook,YouTubeなどの記事や動画の投稿時刻を扱う際,それぞれ表記が違っていたり,基準となる標準時がちがっていたりすることがあり,フォーマットした結果,時間がズレてしまうミスを起こしやすいので,日時を扱う場合は注意してください.