JavaScript - 解析UTC日期

Art*_*huk 19 javascript date

如何解析一个简单的日期字符串,让JavaScript知道它实际上是一个UTC日期?目前,如果我这样做new Date('2015-08-27'),将其转换为我的时区.

pot*_*ngs 20

您可以附加'T00:00:00.000Z'以使时区特定(Z表示UTC)

new Date('2015-08-27' + 'T00:00:00.000Z')
Run Code Online (Sandbox Code Playgroud)

请注意,新日期('2015-08-27')在ES5(UTC)与ES6(本地)中的处理方式不同,因此如果您计划对其进行硬编码,则不能指望任何校正可以保持一致(即不要这样做)


另外,请注意您'T00:00:00.000Z'可能会显示与表达式评估的UTC时间相对应的本地时间(如果您希望UTC结束时表达式评估为UTC时间并且您的本地时间,则往往会让您失望一点对于那些根据当地时间评估的人来说,最后的时区).例如

new Date('2015-08-27T00:00:00.000Z')
Run Code Online (Sandbox Code Playgroud)

可以表明

Thu Aug 27 2015 1:00:00 GMT+100
Run Code Online (Sandbox Code Playgroud)

这是一样

Thu Aug 27 2015 00:00:00 UTC
Run Code Online (Sandbox Code Playgroud)


小智 -5

这就是我要做的。

var current = new Date();
var utcDate = new Date(current.getTime() + current.getTimezoneOffset() * 60000);
Run Code Online (Sandbox Code Playgroud)

  • 时区偏移量并不总是以可被一小时整除的值给出。例如,冰岛的时差有半小时。 (6认同)