插入当前时间戳并根据时区检索

时间:2018-06-08 07:49:55

标签: php mysql

我有一个" 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中如何转换它)

2 个答案:

答案 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下面我想这就是你要找的。

Set timezone in PHP and MySQL

相关问题