本文整理汇总了PHP中Timestamp::ago方法的典型用法代码示例。如果您正苦于以下问题:PHP Timestamp::ago方法的具体用法?PHP Timestamp::ago怎么用?PHP Timestamp::ago使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Timestamp
的用法示例。
在下文中一共展示了Timestamp::ago方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: ago
/**
* Calculates the time past since an event occured, f.ex. "2 days ago".
* Taken from the php.net website.
*
* @author andypsv <andypsv@rcdrugs.com>
*/
function ago($time = null)
{
if ($time) {
$d = new Timestamp($time);
return $d->ago();
}
$tm = $this->_time;
$cur_tm = time();
$dif = $cur_tm - $tm;
$pds = array('second', 'minute', 'hour', 'day', 'week', 'month', 'year', 'decade');
$pdsp = array('seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'years', 'decades');
if (modulemanager::has('i18n')) {
foreach ($pds as &$pd) {
$pd = intl::str($pd);
}
foreach ($pdsp as &$pd) {
$pd = intl::str($pd);
}
}
$lngh = array(1, 60, 3600, 86400, 604800, 2630880, 31570560, 315705600);
for ($v = sizeof($lngh) - 1; $v >= 0 && ($no = $dif / $lngh[$v]) <= 1; $v--) {
}
if ($v < 0) {
$v = 0;
}
$_tm = $cur_tm - $dif % $lngh[$v];
$no = floor($no);
if ($no != 1) {
$pds[$v] = $pdsp[$v];
}
$x = sprintf("%d %s ", $no, $pds[$v]);
// if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0)) $x .= time_ago($_tm);
return $x;
}