gpt4 book ai didi

javascript - 如何比较 Javascript 中的日期时间?

转载 作者:搜寻专家 更新时间:2023-11-01 04:16:38 24 4
gpt4 key购买 nike

给予
var fromDatetime = "10/21/2014 08:00:00";
var toDatetime = "10/21/2014 07:59:59";

目标
需要比较这两个给定的日期时间以检查这是否是有效的日期时间输入。

我想我可以使用这个解决方案。 .
var fromDatetime = new date("10/21/2014 08:00:00");
var toDatetime = new date("10/21/2014 07:59:59");

然后比较每个段
从日期时间.getFullYear() 到 toDatetime.getFullYear(),
从Datetime.getMonth() 到toDatetime.getMonth(),
依此类推,直到我得到一个不相等的比较,然后返回。

我的问题是。 . 这是在 Javascript 中比较日期时间的最佳案例吗?

除此之外的任何建议的解决方案将不胜感激。 .先感谢您。

最佳答案

如果您只需要知道一个日期是在另一个日期之前还是之后,您可以使用普通的比较运算符:

if (dateA > dateB) { ... }

(请注意,要实例化 Date 对象,它是 new Date(myDateString),而不是您示例中的 new date()。)

这是有效的,因为 Date 对象将被强制转换为基础纪元值,这些值只是表示自格林威治标准时间 1970 年 1 月 1 日以来经过的毫秒数的数字。 (关系比较使用操作数的 @@toPrimitivevalueOf() 函数的结果,如果可用的话。)因此,这将敏感到毫秒,这可能需要也可能不需要。您可以通过确保输入仅包含最多小时/分钟/任何值或通过像您在问题中描述的那样进行零碎比较来控制比较的粒度。

对于更高级的日期比较操作,我强烈建议使用像 Moment.js 这样的库,因为它本身并没有太多可以使用的。例如 Moment 提供了如下方法

moment(myDateString).startOf('hour')

如果您只需要在特定的特定级别进行比较,这将非常有用。但是没有一个日期时间库是非常轻量级的,所以只有在您正在执行服务器端代码或者您希望广泛依赖它们时才使用它们。如果您只需要进行这一次比较,那么推出您自己的解决方案会更明智。

关于javascript - 如何比较 Javascript 中的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26477875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com