Javascript “从字符串创建日期”在浏览器中不同

Javascript “从字符串创建日期”在浏览器中不同,javascript,momentjs,Javascript,Momentjs,下面的示例尝试使用moment.js从字符串(2016-03-27T02:00:00)解析日期 在firefox上执行的脚本给出2016-03-27 01:00:00 在chrome上执行的脚本给出2016-03-27 03:00:00 如何强制时刻返回相同的日期,而不考虑使用的浏览器 我忘了提到上下文。传递给矩构造函数的字符串是用户localtime。这个日期是特殊的,因为在欧洲,这个时区从UTC+1更改为UTC+2。所以在当地时间2016-03-27 02:00:00不存在。浏览器必须回退

下面的示例尝试使用moment.js从字符串(2016-03-27T02:00:00)解析日期

在firefox上执行的脚本给出2016-03-27 01:00:00

在chrome上执行的脚本给出2016-03-27 03:00:00

如何强制时刻返回相同的日期,而不考虑使用的浏览器


我忘了提到上下文。传递给矩构造函数的字符串是用户localtime。这个日期是特殊的,因为在欧洲,这个时区从UTC+1更改为UTC+2。所以在当地时间2016-03-27 02:00:00不存在。浏览器必须回退到现有的本地日期。我希望这个日期是相同的,无论浏览器

这似乎是一个时区问题。您是否尝试设置utc时区

即时文档:

如果希望将日期作为UTC日期进行交互,请使用moment.UTC

这将导致utc偏移量为
+0:00

或者,如果时区与utc不同,您可以创建固定时区的日期,如:

var date = moment("2016-03-27T02:00:00+02:00").format('DD-MM-YYYY hh:mm:ss');

这是在同一台计算机上还是在不同的计算机上?在这两台计算机上都进行了尝试,得到了相同的输出
2016-03-27T02:00:00
这可能会有所帮助:通常,这种错误是由不同的时区设置引起的。尝试“2016-03-27T02:00:00Z”(UTC时区),它应该会产生相同的输出
moment.utc('2016-01-01T23:35:01');
var date = moment("2016-03-27T02:00:00+02:00").format('DD-MM-YYYY hh:mm:ss');