如何解析一个简单的日期字符串,让JavaScript知道它实际上是一个UTC日期?目前,如果我执行new Date('2015-08-27')
,则会将其转换为我的时区。
答案 0 :(得分:15)
您可以附加'T00:00:00.000Z'以使时区特定(Z表示UTC)
new Date('2015-08-27' + 'T00:00:00.000Z')
请注意,新日期('2015-08-27')在ES5(UTC)与ES6(本地)中的处理方式不同,因此如果您计划要进行任何更正,您不能指望它能够始终如一地工作硬编码(即不要这样做)
另外,请注意您的console.log
可能会显示与表达式评估的UTC时间相对应的本地时间(如果您希望UTC结束表达式,则往往会让您失望一点评估为UTC时间,最后评估当地时区,以评估当地时间。例如
new Date('2015-08-27T00:00:00.000Z')
可以显示
Thu Aug 27 2015 1:00:00 GMT+100
与
一样相同Thu Aug 27 2015 00:00:00 UTC
答案 1 :(得分:1)
这就是我要做的事。
var current = new Date();
var utcDate = new Date(current.getTime() + current.getTimezoneOffset() * 60000);