如何解析一个简单的日期字符串,让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)