gpt4 book ai didi

javascript - 如何比较日期和时刻

转载 作者:行者123 更新时间:2023-12-02 13:55:50 26 4
gpt4 key购买 nike

我正在尝试将数据库 (firebase) 中的日期与 NOW 进行比较。我正在使用 moment.js 但它不起作用。我认为这与时区(或 UTC+01:00)有关...

示例。

  • 日期1:“2016-11-20T14:00:00”
  • 现在:“2016-11-20T14:49:20+01:00”

我现在使用 moment() 进行比较,如下所示:

var date1 = moment("2016-11-20T14:00:00");
moment(date1).isSameOrAfter( moment() ) // returns true

比较正好相差一小时...我该如何解决这个问题?并且:是否有跨时区存储和比较日期的最佳实践。

最佳答案

日期应始终以 UTC 格式保存。如果您使用字符串,请输入 ISO 格式的 UTC 日期时间值。

因此,在保存从客户端时区转换为 UTC 的同时,在检索从 UTC 转换为客户端时区的同时。

应该在同一时区的两个日期之间进行比较。

如果数据库值采用 UTC 格式,则在创建 moment 对象时必须解析为 .utc()。

moment.utc("2016-11-20T14:00:00");

在比较之前将 NOW 值更改为 UTC。

moment.(date1).utc()

或者,您可以将数据库值从 UTC 更改为本地值。

 moment.utc("2016-11-20T14:00:00").local()

保持比较前的 NOW 值不变。

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

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