为什么我从时间戳得到错误的日期?

时间:2016-03-25 09:12:03

标签: javascript php date

我在数据库中存储了776635200个时间戳。

当我在php中将它格式化为服务器端的字符串时,我得到以下结果:

var_dump(date("Y-m-d H:i:s", 776635200)); // string(19) 1994-08-12 00:00:00

但是当我在JS的客户端做同样的事情时,我得到以下结果:

console.log(new Date(776635200 * 1000)) // Thu Aug 11 1994 23:00:00 GMT+0300 (RTZ 2 (зима))

为什么我会得到不同的结果?

2 个答案:

答案 0 :(得分:2)

因为在php中它使用不同的时区进行格式化,这可能是GMT + 0400,而在JS中它使用时区GMT + 0300格式化。

尝试在PHP中var转储时区。

var_dump(date("Y-m-d H:i:s O", 776635200)); 

答案 1 :(得分:1)

服务器端从服务器位置和/或PHP设置获取其时区设置,而客户端js从用户计算机中设置的本地时区获取其时间设置。这可能是在不同的时区。