我在数据库中存储了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 (зима))
为什么我会得到不同的结果?
因为在php中它是用不同的时区格式化的,可能是GMT+0400,而在JS中它是使用时区GMT+0300格式化的。
尝试在PHP中对时区进行var转储。
var_dump(date("Y-m-d H:i:s O", 776635200));
服务器端从服务器的位置和/或PHP设置获取时区设置,而客户端js从用户计算机中设置的本地时区获取时间设置。可能在不同的时区。