我在mysql数据库中的gmt中存储了一些日期
假设客户的时区偏移为-540;如何更正来自数据库的datetime
以反映这一点?有没有一个方便的函数可以让我输入日期,或者我需要相应地加减。
由于数据项为GMT格式,因此必须使用strtotime
将其转换为时间戳,更多信息请点击此处:http://php.net/manual/en/function.strtotime.php一旦您有了时间戳,您就可以从中减去偏移量(540乘以60秒),然后使用date
将结果转换为新的日期字符串,更多信息请点击此处:http://php.net/manual/en/function.date.php
这里有一个版本的代码可以做到这一点:
$dbValue = $row['date'];
$timestamp = strtotime($dbValue) - (540*60);
$result = date("Y-m-d H:i:s", $timestamp);
也许这个Snippet会帮助你:
$format = 'Y-m-d';
$obj = new DateTime();
$date = date($format, strtotime($obj->format('Y-m-d H:i:s')) - $obj->format('Z'));
另请参阅http://www.php.net/manual/en/class.datetime.php以获取进一步的读数。