【发布时间】:2018-03-05 04:55:11
【问题描述】:
我有自定义新闻模块,其中有发布日期。我想根据发布日期显示几小时前发布的内容。假设发布时间是晚上 8 点,现在是晚上 9 点,那么我想显示 1 小时前发布的内容。但是在同一天晚上 11.59 之后,我需要显示发布日期。直到晚上 11.59,它应该在晚上 11.59 之后显示“4 小时前发布”,我需要显示发布日期。
如何根据午夜 12:00 时间计算前时间函数?我使用了以下代码,但它总是从发布的日期和时间开始计算 24 小时。
$time = time() - $postedTime;
$time = ($time<1)? 1 : $time;
$tokens = array (
31536000 => 'Year',
2592000 => 'Month',
604800 => 'Week',
86400 => 'Day',
3600 => 'Hour',
60 => 'Minute',
1 => 'Second'
);
foreach ($tokens as $unit => $text) {
if ($time < $unit) continue;
$numberOfUnits = floor($time / $unit);
if($time>86400) {
return date('d.m.Y', $timestamp);
} else{
return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':'');
}
}
【问题讨论】: