比較兩個日期時,您可能會遇到只想考慮日期部分而忽略時間的情況。以下是如何在 JavaScript 中實現此目的。
提供的程式碼嘗試透過將使用者輸入日期指派給新的 Date 物件 userDate 來比較日期,但是,它保留了原始時間從現在開始。這會導致比較不正確。
要獨立於時間比較日期部分,您需要將使用者輸入日期的時間部分明確設定為零。正確的方法如下:
userDate.setHours(0, 0, 0, 0);
透過這樣做,userDate 物件將僅代表日期部分,您可以使用 > 將其與現在準確地進行比較。
您可以使用更簡單的語法來代替if 條件:
const result = userDate > now;
另一種方法是建立一個輔助函數來從給定日期物件中提取日期部分:
const getDatePart = (date) => { return new Date(date.getFullYear(), date.getMonth(), date.getDate()); };
然後您可以使用==運算符比較兩個日期的日期部分:
const nowDatePart = getDatePart(now); const userDatePart = getDatePart(userDate); const result = nowDatePart == userDatePart;
以上是如何在 JavaScript 中只比較兩個日期的日期部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!