我有一个" date"我的表中timestamp
类型的列CURRENT_TIMESTAMP
(更新时)。
我使用PHP检索它:date('H:i a', strtotime($message->date)
但是显示的时间对于不同的数据库/服务器主机(每个都有自己的时区)是不一致的。
日期格式的示例,如数据库本身所示:2018-05-06 20:20:22
什么方法可以使时间戳更通用(也许是以秒为单位的unix时间),然后在PHP中根据用户的时区检索它?
我是否必须更改INSERT
语句以显式插入unix时间戳,或者" CURRENT_TIMESTAMP"也能做到吗? (然后在PHP中如何转换它)
答案 0 :(得分:1)
您需要设置所需的时区, 假设您希望在“美国/洛杉矶”中使用日期'然后你可以得到这样的时间
$date = $message->date; //your date
$tz = new DateTimeZone('America/Los_Angeles'); // User's time zone
$date = new DateTime($date);
$date->setTimezone($tz);
echo $date->format('H:i a');
答案 1 :(得分:0)
你必须只同步php和mysql timezone.Follow在url下面我想这就是你要找的。 p>