在不影响时区的情况下获取Unix时间的任何PHP或MySQL函数


Any PHP or MySQL function to get the Unix time without affecting the Timezone

我在我的数据库中存储了一个时间,例如这个数据: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"));