JavaScript

[JavaScript] 2つの日付の差を日数で求める

投稿日:2016年10月4日 更新日:

2つの日付の差を日数で求めるサンプルです。

サンプル

例)2016年1月1日~2016年6月30日の日数を求める

(結果)
181

解説

  • Date型からDate型を引くと差分がミリ秒単位で取得できますので、それを1日分のミリ秒(24時間x60分x60秒x1,000ミリ秒=86,400,000ミリ秒)で割って、余りを切り上げれば差分の日数が求まります。
  • Math.ceil関数は、小数点以下の切り上げを行う関数です。
  • new Dateで年月日しか指定しないと、結果として86400000で割り切れる値しか取得できないので、差日を求める箇所での丸め処理は不要です。(yg様ご指摘)
  • うるう秒を考慮するのであればMath.ceilを使用した方が安全です。
    (例)var termDay = Math.ceil((day2 - day1) / 86400000);

スポンサーリンク

スポンサーリンク

-JavaScript
-

執筆者:



  1. yg より:

    day1、day2ともにnew Date()にて年月日のみを指定しており時分秒は指定していない。
    ということは両日ともに00:00:00時点のミリ秒が取得できているわけです。
    即ち必ず86400000で割り切れますので、Math.ceilは不要です。

    • とら より:

      コメントありがとうございます。
      確かに割り切れる結果しか取れませんね。

      Math.Ceil() は余計な処理となるので削除させて頂きます。

  2. 通りすがりのもの より:

    うるう秒があるので、ceil があったほうがよい。

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク