在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));
答案 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类,它在处理日期时具有更多功能。