php怎么判断两次之间的区别是今天,昨天还是其他?

时间:2015-12-03 13:07:59

标签: php time datediff

我一直在寻找这里的各种帖子来找到我的解决方案,但我找不到一个:(

所以我所追求的是一种找到日期之间确切差异的方法。我目前有以下代码

$date = time();
$publishedDate = strtotime($item->published_time);
$datediff = $date - $publishedDate;
$daysListed = floor($datediff/(60*60*24));

if($daysListed >= 2)
{
    $days = $daysListed." days ago";    
}
elseif ($daysListed == 1)
{
    $days = $daysListed." yesterday";   
}
elseif ($daysListed < 1)
{
    $days = "today";
}

哪个做得很好,我的主要缺点就是说我的用户在昨晚23:59提交帖子,上面的代码将返回&#34;今天&#34;因为$ datediff返回不到24小时,即使它是昨天发布的。是否有更准确的方法来获得正确的值?

感谢您的帮助 路加

1 个答案:

答案 0 :(得分:1)

您还需要比较时间
例如$ timePub 23:59 $ nowtime 11:20

....
elseif ($daysListed < 1)
{
  if ($timePub > $nowtime) {
    $days = " yesterday";
  }
  else {
    $days = "today";
  }  
}