我在查找PHP中两个TimeDates之间的区别时遇到了一些麻烦。这就是我所拥有的。
$endTime = new DateTime($row['endTime']); // "$row['endTime']" is from a mysql database
date_default_timezone_set('America/New_York');
$now = new DateTime();
$interval = $endTime->diff($now);
echo $interval->format("%h:%i:%s");
例如,如果endTime为'2014-01-08 01:51:40',则当前时间为 '2014-01-09 01:54:42',显示为'24:03:02'。我还需要弄清楚如何做:
if($endTime > $now){
//run code
}
有什么建议吗?
答案 0 :(得分:0)
您的代码有效(尽管我不认为您的间隔格式是您可能正在寻找的)。正如您所看到的,可以比较DateTime对象,而不必将它们转换为另一种格式,如时间戳。
$endTime = new DateTime('tomorrow');
date_default_timezone_set('America/New_York');
$now = new DateTime();
if($endTime > $now){
$interval = $endTime->diff($now);
echo $interval->format("%h:%i:%s");
}