夢は小さいほどいいと思っているんです。本気になれるから。

夢を持つことが大事なんじゃなく、本気になるのが大事。(糸井重里)

JavaScriptの基本的な書き方 日付 / 時刻データを操作する Dateオブジェクト

Date オブジェクトを生成する

Dateオブジェクトの生成には必ずコンストラクタを経由する必要があります。Dateオブジェクトのコストラクタには以下の構文などがあります。

See the Pen 20160815DateObject by r.shimizu (@r_shimizu) on CodePen.


Date オブジェクトのメンバ

Date オブジェクトで利用可能なメンバは、下記のリンクをご確認ください。
developer.mozilla.org

以下のサンプルで、主要なメンバの挙動を確認してください。

See the Pen 20160815DateObject_2 by r.shimizu (@r_shimizu) on CodePen.


日付 / 時刻データを加算・減算する

Dateオブジェクトは、日付 / 時刻を直接、足したり、引いたりできません。計算したい場合は、下記の手順を踏む必要があります。

  • getXxxxメソッド現在の日付 / 時刻要素を取得しておく
  • 取得した値に加算 / 減算をする
  • さらにsetXxxxxメソッドに設定をし直す

具体的には下記のコードを見てみましょう。

See the Pen 20160815DateObject_3 by r.shimizu (@r_shimizu) on CodePen.


日付 / 時刻の差分を求める

もうひとつ、よくある処理として、日付や時刻の差を求めるような処理です。これもまた、Dateオブジェクトは直接機能を提供していないので、
以下のようなコードを記述する必要があります。

See the Pen 20160815DateObject_4 by r.shimizu (@r_shimizu) on CodePen.

経過ミリ秒を取得するのは getTimeメソッドです。ミリ秒のを日付に変換するために

ミリ秒 ÷ (1000 ミリ秒 × 60秒 × 60分 × 24時間)

という計算をしてました。決まり決まったコードとして覚えておきましょう。