我已经使用SELECT @@system_time_zone;
检查了我的mysql系统时区,并在生产服务器中返回了EDT
。现在我想生成相同的时区(即EDT)当前时间戳,它不起作用。这是我到目前为止所尝试的是
date_default_timezone_set('EST');
$ts = strtotime('now');
echo date('Y-m-d H:i:s',$ts);
和
$date = new DateTime(null, new DateTimeZone('EST'));
$ts = $date->getTimestamp();
echo date('Y-m-d H:i:s',$ts);
它的输出是2015-09-07 05:38:43
但我的mysql日期(时间戳)是2015-09-07 06:39:53
所以它不相同。 (通过插入同一时间测试)
所以如何根据mysql的系统时区获取当前时间戳(EDT / EST)?专业的任何帮助
答案 0 :(得分:0)
可以像这样检索全局和客户端特定时区的当前值:
mysql> SELECT @@global.time_zone, @@session.time_zone;
并尝试使用此代码设置时区和时区位置
<?php
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
?
注意第二个PHP代码只是一个例子。
我希望我能帮到你