我有一个问题关于时区我从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小时的差异。我想在两台服务器上同时
答案 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切换时区