我在我的数据库中存储了一个时间,例如这个数据:2014-03-25 13:15:00
但是当我使用UNIX_TIMESTAMP(date_field)
通过mysql查询或strtotime()
在PHP时,两个函数的输出都受到时区的影响。
请告诉我是否有可能得到unix时间没有时区效果?如果有人能提供一个PHP函数,那将非常有帮助。
请不要建议我更改时区,因为这不是一个合适的解决方案。
2014-03-25 14:05:00
转换为unix后再转换为日期2014-03-25 08:35:00
时的电流输出
这不仅发生在DB时间上。比如我直接调用这个:date('Y-m-d H:i:s', strtotime(2014-03-25 14:05:00))
然后输出
2014-03-25 08:35:00
在PHP中可以使用DateTime
:
$date = new DateTime('2014-03-25 13:15:00', new DateTimeZone('UTC'));
echo $date->format('Y-m-d H:i:s'); // 2014-03-25 13:15:00
echo $date->format('U'); // 1395753300
假设数据库中的时间是用UTC表示的。
PHP 5.3版本
$date = '2014-03-25 13:15:00';
echo gmdate('Y-m-d H:i:s', strtotime("$date GMT"));