所以我在 php 中有这段代码:
$now= new \Datetime("UTC");
$lv=$user->getLastVisit();
$interval =$lv->diff($now,true);
print_r($interval);
print_r("<br>".$lv->format("Y-m-d H:i:s"));
print_r("<br>".$now->format("Y-m-d H:i:s"));
exit(0);
这是输出:
DateInterval Object ( [y] => 0 [m] => 0 [d] => 0 [h] => 6 [i] => 59 [s] => 6 [invert] => 0 [days] => 0 )
2013-04-09 23:44:21
2013-04-09 23:45:15
所以差异结果是 6 小时 59 分 6 秒!但如果我手动做差异,我有 54 秒!那么这个 DateTime::diff 函数有什么问题呢?
编辑:
这是 var_dump($user->getLastVisit());
2013-04-09 23:54:59object(DateTime)#320 (3) { ["date"]=> string(19) "2013-04-09 23:44:21" ["timezone_type"]=> int(3) ["timezone"]=> string(19) "America/Los_Angeles" }