php 如何判断两个时间的差值是今天、昨天还是其他?

php how to tell if the difference between two times falls on today, yesterday or other?

我一直在浏览这里的各种 post 以找到我的解决方案,但我找不到 :(

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

$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:59pm 提交了 post 上面的代码将 return 的值"today" 因为 $datediff return 不到 24 小时,即使它是昨天 posted 的。有没有更准确的方法来获取正确的值 returned?

感谢您的帮助 卢克

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

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