PHP Instance code: Time-friendly formatting, see the code:
Copy to ClipboardWhat to refer to:
[www.bkjia.com]
Class DateFormat
{
private static $_diff_format = Array (
' Day ' = '%s days ago ',
' Day_hour ' + '%s day%s hours ago ',
' HOUR ' = '%s hours ',
' Hour_minute ' + '%s hours before%s ',
' MINUTE ' = '%s minutes ago ',
' Minute_second ' = '%s minutes%s seconds ago ',
' SECOND ' = '%s minutes ago ',
);
/**
* Friendly format of 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 *) > 0)? ' _minute ': ';
} else {
$diffFormat = (($seconds-$minutes *) > 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::d iff (' 1310455823 ');
/* 33分钟47秒 ago */
http://www.bkjia.com/PHPjc/363921.html www.bkjia.com true http://www.bkjia.com/PHPjc/363921.html techarticle PHP Instance code: Time-friendly formatting, see Code: Copy to Clipboard reference: [www.veryhuo.com]? PHP class DateFormat {private static $_diff_format = Array (' Day ' ...