gpt4 book ai didi

javascript - UTC 日期之间的 Moment.js 差异

转载 作者:IT老高 更新时间:2023-10-28 23:01:30 25 4
gpt4 key购买 nike

我正在使用 moments.js用于在 javascript 中处理日期。所有日期均采用 UTC(或应该采用)。

我有以下日期(距当前时间 60 分钟):

//Wed, 04 Apr 2012 21:09:16 GMT
to = moment.utc().add('m', 60).toDate();

现在我想得到这个日期和当前 UTC 日期时间之间的秒差,所以我这样做了:

seconds = moment.utc().diff(to, 'seconds');

这会返回 10800 而不是 3600,所以是 3 小时,而不是 1 小时。

任何想法我做错了什么?

谢谢!

编辑:

我将该行更新为 seconds = moment().diff(to, 'seconds'); 并获得了当前秒数,但它是 -3600 而不是积极的。

编辑:

我现在有这两个时刻对象:

{ _d: Thu, 05 Apr 2012 17:33:18 GMT, _isUTC: true }
{ _d: Thu, 05 Apr 2012 16:38:45 GMT, _isUTC: true }

d1 和 d2。

当我执行 d1.diff(d2, 'hours', true); 时,这将返回 4。我认为这绝对与 UTC 有关,但似乎这应该工作。

最佳答案

这是一个合法的错误。我刚刚在这里归档:https://github.com/timrwood/moment/issues/261

要绕过它,请改用以下内容。

var a = moment.utc().add('m', 60).toDate(),
b = moment().diff(to, 'seconds'); // use moment() instead of moment.utc()

另外,如果你需要获取日期的 toString,你可以使用 moment().toString() 因为它代理包装的 Date ().toString()

关于javascript - UTC 日期之间的 Moment.js 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10018575/

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