比较PHP中的unix时间戳

时间:2012-11-21 12:38:46

标签: php html mysql

在PHP中我有:

$diff = abs(strtotime(date('m/d/Y h:i:s')) - strtotime($latest));
$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
echo floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

如何在几秒钟内获得差异?我尝试过以下方法:

$diff = abs(strtotime(date('m/d/Y h:i:s')) - strtotime($latest));

2 个答案:

答案 0 :(得分:2)

使用DateTime代替,它会使您的代码更清晰。

$latest = new DateTime($latest);
$now = new DateTime();

$diff = $latest->diff($now);
echo $diff->format('%y years %m months %d days');

答案 1 :(得分:2)

时间戳是从1970年1月1日起的几秒钟。所以它很简单:

<?php
    $now = time();
    $latest = "21-11-2012 14:44";
    $latest = strtotime($latest);
    $diff = ($now - $latest);
    //$diff = Number of seconds difference between now and 21-11-2012 14:44
?>

另请查看DateTime类,它在处理日期时具有更多功能。