我想比较两个时间戳与基数为60或10的时间之间的差异。更准确地说,如果时间戳1-timestamp2长于(或不长于)x小时y秒。
我使用DateTime和DateInterval类,但没有这样的函数,而且我找不到干净的解决方案。
感谢
$time1 = new DateTime("2011-01-26 01:13:30"); // string date
$time2 = new DateTime();
$time2->setTimestamp(1327560334); // timestamps, it can be string date too.
$interval = $time2->diff($time1);
echo $interval->format("%H hours %i minutes %s seconds");
输出
11 hours 32 minutes 4 seconds
$timestamp1 = strtotime('2012-01-26 14:00:00');
$timestamp2 = strtotime('2012-01-25 17:00:00');
if (abs($timestamp1 - $timestamp2) < 60 * 60 * 5 /* (5 hours) */) {
...
将时间戳和实时时间转换为UNIX时间戳。然后简单地减去,得到秒差。
使用日期时间对象:
$interval = $TempReceiptDateTime->diff($ShipDateTime);
echo $interval->format('%R%H:%I:%s days');
更多