PHP比较时间戳和实时的差异

时间:2012-01-26 06:39:20

标签: php datetime

我想比较两个时间戳和基数60或10的时间之间的差异。 更准确地说,如果timestamp1-timestamp2比x小时和y秒更长(或没有)。

我正在使用DateTime和DateInterval类,但是没有这样的功能,我找不到干净的解决方案。

由于

4 个答案:

答案 0 :(得分:8)

$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

答案 1 :(得分:2)

$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) */) {
    ...

答案 2 :(得分:0)

将时间戳和实时转换为UNIX时间戳。然后简单地减去得到秒数的差异。

答案 3 :(得分:0)

使用datetime对象:

$interval = $TempReceiptDateTime->diff($ShipDateTime);
echo $interval->format('%R%H:%I:%s days');

more