Javascript 获取本地时间和远程时间之间的时间差

Javascript 获取本地时间和远程时间之间的时间差,javascript,datetime,timezone,Javascript,Datetime,Timezone,是的,我知道上千个貌似a的问题,但我的大脑正在崩溃,我请求你的帮助。 我读过很多文章,但仍然感到困惑 这是我的 var next_market_event_in_NewYork = "2014-12-02T16:00:00"; //that's what server gives me var secondsFromMarketToMoscow = 28800; //that's also what server gives me var secondsFromMoscowToLondon =

是的,我知道上千个貌似a的问题,但我的大脑正在崩溃,我请求你的帮助。 我读过很多文章,但仍然感到困惑

这是我的

var next_market_event_in_NewYork = "2014-12-02T16:00:00"; //that's what server gives me
var secondsFromMarketToMoscow = 28800; //that's also what server gives me
var secondsFromMoscowToLondon = 10800; //that's also what server gives me 
var secondsFromLocalToLondon = 7200; //that's what I get from local timeoffset new Date().getTimezoneOffset()*(-60)

我需要的是从现在到纽约的下一个活动还有多少秒。在这上面花了几十个小时。只是不知道如何得到答案。请帮忙。

困难的部分是计算纽约时间和UTC之间的差值。如果您可以在服务器端执行此操作,那么应该没有问题。如果不能,则可以对偏移量进行硬编码,但当美国处于夏令时,这种情况会发生变化

下面是一个代码示例,其中在纽约和UTC之间有一个硬编码的5小时偏移量

纽约的var下一个市场事件=“2014-12-02T16:00:00”; 变量msNYtoUTC=5*60*60*1000//最好是计算这个服务器端 var nextEventDate=新日期(Date.parse(下一个纽约市场事件)+msNYtoUTC); setInterval(函数(){ var localTime=新日期(); var secondsRemaining=(nextEventDate-localTime)/1000; document.getElementById(“结果”).innerHTML=secondsRemaining.toFixed(0); }, 1000);

离市场事件还有几秒钟

< /代码> 如果您需要一个纯JavaScript解决方案,考虑使用一个已经理解时区的库,例如用Add on .< /P>
布莱恩要吹了?最好打电话给人力资源部。以这里的脚本为例:2。将毫秒到市场事件添加到纽约的下一个市场事件-现在不是UTC时间。这是纽约当地时间((你的片段告诉我,纽约到16:00还有-14800秒。但现在只有13:00了……这不适合夏令时。纽约在冬季只落后UTC 5小时。在夏季,落后UTC 4小时。@MattJohnson是的,我在回答中指出了这一点,并说最好计算这个值。)e、 OP似乎有办法做到这一点。我无法计算服务器端的偏移量…我确实知道每个市场从莫斯科的偏移量,以及莫斯科从伦敦的偏移量,如问题所示。请帮助我了解如何让msNYtoUTC知道我知道矩.tz,但实际上我不知道特定市场的时区。在我的问题中,我自己假设是纽约,但服务器给我的不是时区,而是市场与莫斯科(甚至不是伦敦)的距离。我很困惑。你首先说服务器给了你到莫斯科和伦敦的偏移量。现在你说它只是莫斯科?服务器是否考虑到莫斯科最近从UTC+4转换到UTC+3?当你说伦敦时,你是指GMT?还是考虑到伦敦在冬季是GMT(UTC+0)和英国夏令时(UTC+1)在夏天?我是否正确地理解,你真的不知道市场所在的时区,并且存在多个市场?我不确定你希望我们如何猜测。你能更具体地说吗?
var next_market_event_in_NewYork = "2014-12-02T16:00:00";
var m = moment.tz(next_market_event_in_NewYork, "America/New_York");
var now = moment();
var s = m.diff(now,'seconds');