我想計算兩個日期之間的天數。常見問題。JS - 計算考慮閏年的兩個日期之間的天數
對於爲例:
var d0 = new Date("2016-02-27");
var d1 = new Date("2017-08-25");
var res = (d1 - d0)/1000/60/60/24;
// res = 545 days
但我懷疑,所以我寫了一個天真的功能:
function days(d0, d1)
{
var d = new Date(d0);
var n = 0;
while(d < d1)
{
d.setDate(d.getDate() + 1);
n++;
}
return n;
}
此功能與時代差異本質上輸出相同的結果,但不是與我的具體例子。可能因爲2016年是閏年。
res = days(d0, d1);
// res = 546 days
任何想法爲什麼?
這是一個很好理解和記錄的主題,一些輕的谷歌搜索將揭示大量的信息。 – Yoda
一些輕的谷歌搜索結果顯示,人們只是使用時代差異堅持使用,而不會與日期地獄搞得太多。 –
這很奇怪,但它不是導致差異的閏日。如果您嘗試2016年2月27日至2016年1月1日,一切都是正確的。 – Fels