$dt1 = new DateTime($myObject['ModifyTime']);
$dtNow = new DateTime();
$timeDifference = date_diff($dt1,$dtNow);
我需要检查DateTime dt1是否比现在早>300分钟。我怎么才能确认呢?
你也可以只在时间戳上这样做:
<?php
$dt1 = new DateTime($myObject['ModifyTime']);
$now = time();
var_dump($now - $dt1->getTimestamp() >= 300 * 60); // should return true
?>
时间戳以秒为单位(从1970-01-01开始)。300分钟等于300 x 60秒
时间戳之间的差异以秒为单位,因此只需将其除以60(分钟),以此类推
$datetime1 = new DateTime('2014-03-12 11:00');
$datetime2 = new DateTime('2014-03-12 16:00');
// difference in seconds
$interval = datetime2->getTimestamp() - $datetime1->getTimestamp();
// difference in minutes
$interval = interval / 60;
// difference in hours
$interval = interval / (60 * 60);
检查时间差是否大于5小时:
$dt1 = new DateTime($myObject['ModifyTime']);
$dtNow = new DateTime();
$timeDifference = date_diff($dt1,$dtNow);
if ($timeDifference->h > 5) {
// greater than 300 minutes
}
实际操作
有关日期间隔格式的更多信息,请参阅DatInterval::format()