如何在JavaScript中計算兩個日期之間的天數

我遇到了這個問題:如何計算兩個日期之間的天數? 具體來說,我想要計算一個人租房並在其中入住的夜晚數量,根據入住日期和退房日期。 我查看了不同的解決方案,並找到了一個在考慮到日期的所有問題(包括夏令時間)後給我帶來最少問題的解決方案:從開始日期開始,我們一直添加一天,直到日期表示的日期在結束日期之後為止。 以下是程式碼: const numberOfNightsBetweenDates = (startDate, endDate) => { const start = new Date(startDate) //複製日期對象 const end = new Date(endDate) //複製日期對象 let dayCount = 0 while (end > start) { dayCount++ start.setDate(start.getDate() + 1) } return dayCount } 我首先複製了我們給定的日期,因為日期是對象,我們得到對該對象的引用。這意味著在函數中使用setDate()也會影響到函數外的變量,這是我們不希望看到的! 就這樣。 如果您只是想獲取兩個日期之間的天數(例如,從今天到明天是2天),只需將 while (end > start) 更改為 while (end >= start) 即可。這樣就可以了。或者將dayCount的起始點增加為1。