2015-08-27 73 views
3

如何解析簡單的日期字符串並讓JavaScript知道它實際上是UTC日期?目前,如果我做new Date('2015-08-27')它將其轉換爲我的時區。JavaScript - 解析UTC日期

+0

我強烈建議使用[庫](http://www.momentjs.com)對於 –

+1

許多不同的選擇:http://stackoverflow.com/questions/948532/how-do-you-convert-a-javascript-date-to-utc – Marc

+0

我想遠離天秤座里斯。 –

回答

1

這是我會做的。

var current = new Date(); 
var utcDate = new Date(current.getTime() + current.getTimezoneOffset() * 60000); 
4

你可以追加 'T00:00:00.000Z',使時區特定的(Z表示UTC)

new Date('2015-08-27' + 'T00:00:00.000Z') 

注意,新的日期( '2015年8月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