mysql时间到不同服务器上的php转换不同

时间:2016-01-20 10:09:58

标签: php mysql datetime timezone datetime-format

我有一个问题关于时区我从mysql中获取数据

并希望根据给定的时区进行转换,让我们说mysql数据的返回时间是

2014-05-20 16:32:52

这是我的代码

$dateTime = new DateTime($driverPickUpTime); 
$dateTime->setTimezone(new DateTimezone('Asia/Riyadh'));  
$temp = $dateTime->format(CNOC_DATE_TIME_FORMAT);

问题是这个代码在不同的服务器上返回不同的时间,比如dev和live有相同的DB连接有2小时的差异。我想在两台服务器上同时

2 个答案:

答案 0 :(得分:1)

new DateTime()接受时区作为第二个参数。通过提供存储在数据库中的时区,您应始终获得正确的结果:

$dateTime = new DateTime($driverPickUpTime, new DateTimeZone( /*enter DB timezone here*/ ));

答案 1 :(得分:0)

我建议你从mysql获取UTC时间..请参阅mysql UTC_TIME和UTC_DATE here,然后使用PHP切换时区