为什么PHP和Javascript的时间戳不匹配?

时间:2011-08-18 21:54:49

标签: php javascript date

如果我这样做

alert(new Date(1313690400000))

返回:Thu Aug 18 2011 13:00:00 GMT-0500 (CDT)

然而,PHP

echo date('Y-m-d H:i:s', 1313690400000);

返回:1951-12-14 05:50:24

3 个答案:

答案 0 :(得分:19)

JavaScript使用毫秒作为时间戳,而PHP使用秒。结果,你得到了非常不同的日期,因为它的关系是1000倍。

所以在PHP端删除三个零:

echo date('Y-m-d H:i:s', 1313690400);

答案 1 :(得分:6)

PHP的日期/时间函数使用自纪元以来的秒数,而Javascript使用毫秒数。在你的php函数中:

echo date('Y-m-d', 1313690400000 / 1000);

答案 2 :(得分:6)

Javascript日期是自Epoch以来的毫秒数,而PHP日期使用的是unix时间戳,以秒为单位。

所以要在php中获得相同的日期,先除以1000