JavaScriptの日時の差分を求めるサンプルです。
Dateオブジェクトを使用します。
目次
日時の差分を求める手順
日時の差分は、以下の手順で行います。
1.現在日時または指定日時を、Dateオブジェクトをnewして生成する。
2.getTime()メソッドでそれぞれの経過ミリ秒を求める。
3.引き算する。
4.ミリ秒を日または時間に変換する。
日数と時間の差分を求める
日数と時間の差分を求めるサンプルです。
2018/1/2から2017/12/31の差分を求めます。
<script>
// 1.年月日をセット(A-BのA)
const date1 = new Date(2018,0,2);
console.log(date1.toLocaleString()); //2018/1/2 0:00:00
// 2.年月日をセット(A-BのB)
const date2 = new Date(2017,11,31);
console.log(date2.toLocaleString()); //2017/12/31 0:00:00
// 3.getTimeメソッドで引き算(A-B)
const time1 = date1.getTime() - date2.getTime();
// 4.ミリ秒を日に変換
const day1 = Math.floor(time1 / (1000 * 60 * 60 * 24));
console.log(day1); //2
// 5.ミリ秒を時間に変換
const day2 = Math.floor(time1 / (1000 * 60 * 60 ));
console.log(day2); //48時間
</script>
4行目は、設定の月は-1になるので2018,0,2としています。
8行目は、設定の月は-1になるので2017,11,31としています。
15,19行目は、floorメソッドで小数点以下を切り捨てます。
Dateオブジェクト
| new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]); |
- 上記構文は、Date インスタンスを生成します。
- 引数のmonthIndexは、月を表します。0から始まります。
- 以下はMDNのDateオブジェクトのリンクです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date
関連の記事