如何使用JavaScript計算兩日期相差天數

6 月 3, 2019 | | 0 comments

var DateDiff = function (sDate1, sDate2) { // sDate1 和 sDate2 是 2016-06-18 格式
  var oDate1 = new Date(sDate1);
  var oDate2 = new Date(sDate2);
  var iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); // 把相差的毫秒數轉換為天數
  return iDays;
};

var GetDateDiff1 = DateDiff(2019/4/1,2019/4/2); 
console.log(GetDateDiff1); //1

var GetDateDiff2 = DateDiff(2016/5/28,2016/6/2); 
console.log(GetDateDiff2);//5

兩個日期相減

因為兩個日期相減會得到millisecond的數值/86400000這是一天的秒數(1000 / 60 / 60 / 24) JS本身又沒提供function可以直接轉成天數或小時或分數… 因此自己轉是最快的

DEMO

See the Pen JavaScript 計算兩日期時間天數、取得兩時間差異 by Leon Cheng (@jq153387) on CodePen.