首頁  >  文章  >  web前端  >  如何在 JavaScript 中只比較兩個日期的日期部分?

如何在 JavaScript 中只比較兩個日期的日期部分?

Barbara Streisand
Barbara Streisand原創
2024-11-11 20:26:03982瀏覽

How to Compare Only the Date Parts of Two Dates in JavaScript?

比較 JavaScript 中的日期部分

比較兩個日期時,您可能會遇到只想考慮日期部分而忽略時間的情況。以下是如何在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn