copy to clipboard引用的内容:[www.bkjia.com] '%s天前',
'day_hour' => '%s天%s小时前',
'hour' => '%s小时',
'hour_minute' => '%s小时%s分前',
'minute' => '%s分钟前',
'minute_second' => '%s分钟%s秒前',
'second' => '%s分钟前',
);
/**
* 友好格式化时间
*
* @param int 时间
* @param array $formats
* @return string
*/
public static function diff($timestamp, $formats = null)
{
if ($formats == null) {
$formats = self::$_diff_format;
}
/* 计算出时间差 */
$seconds = time() - $timestamp;
$minutes = floor($seconds / 60);
$hours = floor($minutes / 60);
$days = floor($hours / 24);
if ($days > 0) {
$diffformat = 'day';
} else {
$diffformat = ($hours > 0) ? 'hour' : 'minute';
if ($diffformat == 'hour') {
$diffformat .= ($minutes > 0 && ($minutes - $hours * 60) > 0) ? '_minute' : '';
} else {
$diffformat = (($seconds - $minutes * 60) > 0 && $minutes > 0)
? $diffformat.'_second' : 'second';
}
}
$datediff = null;
switch ($diffformat) {
case 'day':
$datediff = sprintf($formats[$diffformat], $days);
break;
case 'day_hour':
$datediff = sprintf($formats[$diffformat], $days, $hours - $days * 60);
break;
case 'hour':
$datediff = sprintf($formats[$diffformat], $hours);
break;
case 'hour_minute':
$datediff = sprintf($formats[$diffformat], $hours, $minutes - $hours * 60);
break;
case 'minute':
$datediff = sprintf($formats[$diffformat], $minutes);
break;
case 'minute_second':
$datediff = sprintf($formats[$diffformat], $minutes, $seconds - $minutes * 60);
break;
case 'second':
$datediff = sprintf($formats[$diffformat], $seconds);
break;
}
return $datediff;
}
}
echo dateformat::diff('1310455823');
/* 33分钟47秒前 */
http://www.bkjia.com/phpjc/363921.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/363921.htmltecharticlephp实例代码:时间友好格式化,请看代码: copy to clipboard 引用的内容: [www.veryhuo.com] ?php class dateformat { private static $_diff_format = array( 'day'...
