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

回到顶部