PHP如何查找自日期时间起经过的时间?
如何查找自日期时间戳记以来经过的时间2010-04-28 17:25:43
,最终输出文本应类似于xx Minutes Ago
/xx Days
Ago
回答:
大多数答案似乎都集中在将日期从字符串转换为时间上。看来您主要是考虑将日期设为“ 5天前”格式,等等。对吗?
这就是我要这样做的方式:
$time = strtotime('2010-04-28 17:25:43');echo 'event happened '.humanTiming($time).' ago';
function humanTiming ($time)
{
$time = time() - $time; // to get the time since that moment
$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);
return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':'');
}
}
我还没有测试过,但是应该可以。
结果看起来像
event happened 4 days ago
要么
event happened 1 minute ago
以上是 PHP如何查找自日期时间起经过的时间? 的全部内容, 来源链接: utcz.com/qa/398264.html