JavaScript 日時の差分を求めるサンプル(Dateオブジェクト)

JavaScriptの日時の差分を求めるサンプルです。Dateオブジェクトを使用します。

手順

  • 日時の差分を求める場合は以下の手順で行います。
    1.現在日時または指定日時を、Dateオブジェクトをnewして生成する。
    2.getTime()メソッドでそれぞれの経過ミリ秒を求める。
    3.引き算する。
    4.ミリ秒を日または時間に変換する。

コード

サンプルのコードです。
例として2018/1/2から2017/12/31の日数の差分と時間の差分を表示しています。
3,7行目は、設定の月は-1になるので(2017,11,31)、(2018,0,2)としています。

<script>
// 1.年月日をセット
var date1 = new Date(2017,11,31);
document.write(date1.toLocaleString() + "<br>"); //2017/12/31 0:00:00

// 2.年月日をセット
var date2 = new Date(2018,0,2);
document.write(date2.toLocaleString() + "<br>"); //2018/1/2 0:00:00

// 3.getTimeメソッドで引き算
var time1 = date2.getTime() - date1.getTime();

// 4.ミリ秒を日に変換
var day1 = time1 / (1000 * 60 * 60 * 24);
document.write("日数の差分=" ,day1 + "日<br>"); //日数の差分=2日

// 5.ミリ秒を時間に変換
var day2 = time1 / (1000 * 60 * 60 );
document.write("時間の差分=" ,day2 + "時間<br>"); //時間の差分=48時間
</script>

Dateオブジェクト

  • Dateオブジェクトの主なコンストラクタです。
    コンストラクタ 説明
    Date() 現在の日時を生成する
    Date(YYYY,MM,DD,hh,mm,ss,SSS) 指定の日時を生成する
     hh,mm,ss,SSSは省略可能
  • Dateオブジェクトの経過ミリ秒を取得するメソッドです。
    メソッド 説明
    getTime() 1970/1/1 00:00:00からの経過ミリ秒を返す
  • 以下はMDNのDateオブジェクトのリンクです。
    https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date

関連の記事

JavaScript 日時の加算と減算のサンプル(Dateオブジェクト)



△上に戻る