一、兩個日期相減計算天數的公式
// JavaScript代碼 const date1 = new Date("2021-03-01"); const date2 = new Date("2021-03-30"); const timeDiff = Math.abs(date2.getTime() - date1.getTime()); const daysDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); console.log(daysDiff); // 輸出29
兩個日期相減計算天數的公式是通過計算兩個日期相差的毫秒數,
再將毫秒數轉換成天數來實現的。假設日期一是date1
,
日期二是date2
,則兩個日期相差的毫秒數為timeDiff =
,由於得到的
Math.abs(date2.getTime() - date1.getTime())
毫秒數不一定是整天,因此通過Math.ceil()
函數向上取整,
將毫秒數轉換成天數daysDiff = Math.ceil(timeDiff / (1000 * 3600 * 24))
。
最後得到的daysDiff
即是兩個日期相減的天數。
二、SQL計算兩個日期相減天數
-- MySQL代碼 SELECT DATEDIFF('2021-03-30', '2021-03-01') AS days_diff; -- 輸出 29
在SQL中,可使用DATEDIFF
函數計算兩個日期相減的天數。假設
日期一是date1
,日期二是date2
,則SQL語句可寫成:
SELECT DATEDIFF(date2, date1) AS days_diff;
並通過AS
關鍵字重命名返回的結果集中表示天數的字段名。執行以上SQL語句可得到
兩個日期相減的天數days_diff
。
三、微信小程序計算兩個日期相減天數
{{daysDiff}} // JS代碼 Page({ data: { date1: "2021-03-01", date2: "2021-03-30", daysDiff: null }, onLoad: function () { this.calcDaysDiff(); }, calcDaysDiff() { const timeDiff = Math.abs(new Date(this.data.date2).getTime() - new Date(this.data.date1).getTime()); const daysDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); this.setData({ daysDiff }); } })
在微信小程序中,可以通過在calcDaysDiff
函數中,實現與JavaScript
相同的兩個日期相減計算天數的邏輯,最後更新數據綁定至daysDiff
以在小程序頁面中呈現。
四、Excel計算兩個日期相減天數
=DATEDIF(A1, A2, "d")
在Excel中,可以使用函數DATEDIF()
計算兩個日期的差值,其中
DATEDIF()
函數的語法為DATEDIF(開始日期, 結束日期, 返回日期差值的單位)
。
在上述語法中,開始日期
為一個日期值或是對日期值的引用,結束日期
同樣為一個日期值或是對日期值的引用。最後的返回日期差值的單位
則為一個代表日期差值
計算單位的文本字符串。其中,單位可以是”d”,「m”,「y”等。在本例中,則可使用
=DATEDIF(A1, A2, "d")
計算A1和A2之間相差的天數。
五、日期相減計算天數在線
在線網站Timeanddate.com
提供了便捷的日期計算器,可以計算兩個日期之間相差的天數。
訪問https://www.timeanddate.com/date/duration.html
以打開日期計算器,在「From」和
「To」輸入需要計算的日期值,點擊「Calculate duration」按鈕即可計算出相差的天數。
原創文章,作者:CKKUU,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/316016.html