2014-01-15 35 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())