php example code: time-friendly formatting, please see the code:
Copy to ClipboardQuoted content:
[www.bkjia.com]
class DateFormat
{
private static $_DIFF_FORMAT = array(
'DAY' => '%s days ago',
'DAY_HOUR' => ; '%s days %s hours ago',
'HOUR' => '%s hours',
'HOUR_MINUTE' => '%s hours %s minutes ago',
'MINUTE ' => '%s minutes ago',
'MINUTE_SECOND' => '%s minutes %s seconds ago',
'SECOND' => '%s minutes ago',
) ;
/**
* Friendly formatting time
*
* @param int time
* @param array $formats
* @return string
*/
public static function diff($timestamp, $formats = null)
{
if ($formats == null) {
$formats = self::$_DIFF_FORMAT;
}
/* Calculate the time difference*/
$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 minutes 47 seconds ago* /
http://www.bkjia.com/PHPjc/363921.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/363921.htmlTechArticlephp example code: time-friendly formatting, please see the code: Copy to Clipboard Quoted content: [www.veryhuo .com] ?php class DateFormat { private static $_DIFF_FORMAT = array( 'DAY'...