计算时间差时的错误结果

时间:2011-10-21 15:33:13

标签: php mysql model-view-controller codeigniter datetime

我正在编写一个PHP函数,用于计算从mySQL数据库表中检索的当前时间和时间戳(例如:2011-10-21 11:16:00)之间的差异。

问题: 计算出的时差似乎已经过了6个小时!我检查了代码,我无法弄清楚为什么几分钟前制作的时间戳导致时间差为6小时!但是,当我将变量$datetime_now设置为特定值时,计算出的时差是正确的!非常感谢任何指导我正确方向的帮助!

PHP代码:

$datetime_now = new DateTime;
$datetime_post = new DateTime($results[$key]['post_timestamp']); //ie. 2011-10-21 11:16:00
$interval = $datetime_now->diff($datetime_post);
$hours = $interval->format('%h');

其他信息:

我正在本地计算机上运行Web服务器(XAMPP包),并从同一系统访问该网页。

1 个答案:

答案 0 :(得分:3)

时区,我猜你是GMT-6?通过对所有事务使用UTC来纠正此问题,然后在最后阶段转换为本地时间。检查您的服务器区域设置,我敢打赌,它们与您的居住地不同。