比较两个日期时,您可能会遇到只想考虑日期部分而忽略时间的情况。以下是如何在 JavaScript 中实现此目的。
提供的代码尝试通过将用户输入日期分配给新的 Date 对象 userDate 来比较日期,但是,它保留了原始时间从现在开始。这会导致比较不正确。
要独立于时间比较日期部分,您需要将用户输入日期的时间部分显式设置为零。正确的方法如下:
userDate.setHours(0, 0, 0, 0);
通过这样做,userDate 对象将仅代表日期部分,您可以使用 > 将其与现在准确地进行比较。
您可以使用更简单的语法来代替 if 条件:
const result = userDate > now;
另一种方法是创建一个辅助函数来从给定日期中提取日期部分object:
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中文网其他相关文章!