2014-01-15 34 views
3

This是我的代碼:爲什麼getHours()返回小時+1?

var feedDataTimestamp = new Date("2014-01-14T00:04:40+0000").getTime(); 
var parsedDate = new Date(+feedDataTimestamp); 
alert(parsedDate.getHours()); 

,但它應該打印0,而不是1:時間是00:04:40

回答

5

因爲你(根據你的Stackoverflow配置文件)在意大利,所以你的時區是UTC + 1。

您輸入的時間戳是UTC + 0。

parsedDate將在當地時間。

如果您想獲取UTC時間而不是本地時間,請使用the getUTCHours() method

+0

你在最後一句中寫了「UCT」而不是「UTC」,但是SO告訴我這是一個不夠大的編輯... – Scimonster

+0

哎呀,謝謝。 – Quentin

1

您解析字符串中設置的時區爲+0000所以你似乎想在UTC的時間,使用

alert(parsedDate.getUTCHours())