MySQL中的时间戳问题

时间:2013-12-20 05:44:29

标签: php mysql timezone timestamp

这是我的表

[ID] [TIMESTAMP]
[1] [2013-12-19 01:17:35] []
[2] [2013-12-19 01:23:42] []

此处显示的时间与我的时区不同。可以说它显示的时间是2013-12-19 01:17:35但在我的时区是时候是2013-12-19 13:47:35。

我的问题是我想获取时区的时间而不是默认时间。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

以UTC格式存储,您可以在接收时转换回您当地的时区

date_default_timezone_set('Asia/Tokyo'); // your reference timezone here

$date = date('Y-m-d H:i:s');

$date = /* SELECT date FROM database */;

$usersTimezone = new DateTimeZone('America/Vancouver');
$l10nDate = new DateTime($date);
$l10nDate->setTimeZone($usersTimezone);
echo $l10nDate->format('Y-m-d H:i:s');

答案 1 :(得分:1)

您需要更改MySQL中的时区。只需在您的根文件上写入查询(可能是index.php) 更改MySQL中的时间戳。对于东京

query("SET time_zone = 'Asia/Tokyo'");  //set your exact location

修改 确定你在哪里?见wikipedia 有关如何设置时区的更多详细信息?见how to set timezone of mysql?