我在数据库中存储了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 (зима))
为什么我会得到不同的结果?
答案 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从用户计算机中设置的本地时区获取其时间设置。这可能是在不同的时区。