首页 > web前端 > js教程 > 正文

如何在 JavaScript 中仅比较两个日期的日期部分?

Barbara Streisand
发布: 2024-11-11 20:26:03
原创
980 人浏览过

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;
登录后复制

替代解决方案

另一种方法是创建一个辅助函数来从给定日期中提取日期部分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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板