我正在编写一个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包),并从同一系统访问该网页。
答案 0 :(得分:3)
时区,我猜你是GMT-6?通过对所有事务使用UTC来纠正此问题,然后在最后阶段转换为本地时间。检查您的服务器区域设置,我敢打赌,它们与您的居住地不同。