尝试使用时刻的差异函数来计算ms时间差b / w,该时刻将始终具有恒定时区和另一个时区无关紧要时刻。我使用时刻时区来帮助解决这个问题。
这是我的示例代码:
const parisTime = moment({hour:18, minutes:0}).tz('Europe/Paris');
const currentTime = moment(); //right now
const difference = moment.duration(parisTime.diff(currentTime))
当我执行此操作时,diff将currentTime视为与欧洲/巴黎相同的时区,其中b / c currentTime可能来自世界上任何地方。
任何想法如何解决这个问题? 非常感谢您的帮助 - 正确答案将被标记为。
谢谢!
答案 0 :(得分:3)
我想你想计算今天巴黎时间和现在18:00之间的差异。那将是
moment.tz('18:00', 'HH:mm', 'Europe/Paris').diff(moment());
基本上,你需要解析18:00作为巴黎时间。现在正在发生的事情是你将它解析为当地时间,然后将其转换为巴黎时间。
请注意,因为您没有指定日期,所以假设这一天是“今天”,这意味着此代码可能会产生正值和负值。
有关时刻构造函数如何工作的更多信息,请参阅this blog post。