我有一些日期在gmt中存储在mysql数据库中。
假设客户端时区偏移量为-540;我如何纠正来自数据库的datetime以反映这一点?有没有一个方便的函数,我可以把日期放进去,或者我需要相应地加或减。
发布于 2012-03-06 16:55:52
由于您拥有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);发布于 2012-03-06 16:50:49
也许这段代码会对你有所帮助:
$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以了解更多信息。
https://stackoverflow.com/questions/9580394
复制相似问题