问题描述
我正在尝试计算美国/中部午夜之前的时间。问题是我的计算返回了 3 小时 30 分钟(我在欧洲是 20:30)。
moment('2020-12-19 23:59:59',"YYYY-MM-DD HH:mm:ss",'US/Central') - moment.tz('US/Central')
我认为这应该有效。我现在正在计算美国/中部午夜和美国/中部之间的差异,但它返回了错误的毫秒数。
你知道如何让它发挥作用吗?
编辑:
用 diff
试了一下,结果还是一样:
moment('2020-12-19 23:59:59','US/Central').diff(moment.tz('US/Central'),'hours')
> 3
编辑 2:
尝试了 moment().tz
而不是 moment.tz
但它根本没有帮助...
moment('2020-12-19 23:59:59','US/Central').diff(moment().tz('US/Central'),'hours')
> 3
解决方法
也许尝试分别获取 2 次,然后找到另一种方法来检查它们之间的差异。例如
var now = new Date();
var midnight = new Date();
midnight.setHours(0,0); // this set's the midnight var to exactly midnight at your systems timezone,you can then offset that time after this
然后使用 moment 或其他一些包来检查两次之间的差异。