momentjs - diff() returns 错误的时差

momentjs - diff() returns wrong time difference

我正在计算到 US/Central 午夜的时间。问题是我的计算 returns 3 小时 30 分钟(我在欧洲是 20:30)。

moment('2020-12-19 23:59:59', "YYYY-MM-DD HH:mm:ss", 'US/Central') - moment.tz('US/Central')

我认为这应该可行。我现在正在计算 US/Central 午夜和 US/Central 之间的差异,但是 returns 错误的毫秒数。

你知道怎么做吗?

编辑:

diff 试了一下,结果还是一样:

moment('2020-12-19 23:59:59', "YYYY-MM-DD HH:mm:ss", 'US/Central').diff(moment.tz('US/Central'),'hours')
> 3

编辑 2:

尝试了 moment().tz 而不是 moment.tz,但一点用都没有...

moment('2020-12-19 23:59:59', "YYYY-MM-DD HH:mm:ss", 'US/Central').diff(moment().tz('US/Central'),'hours')
> 3

也许尝试分别获得2次然后找到另一种方法来检查它们之间的差异。例如

var now = new Date();
var midnight = new Date();

midnight.setHours(0,0,0,0); // this set's the midnight var to exactly midnight at your systems timezone, you can then offset that time after this

然后使用 moment 或其他一些包来检查两个时间之间的差异。