|
@@ -124,25 +124,29 @@ class Date
|
|
|
*/
|
|
|
public static function human($remote, $local = null)
|
|
|
{
|
|
|
- $timediff = (is_null($local) || $local ? time() : $local) - $remote;
|
|
|
- $chunks = array(
|
|
|
- array(60 * 60 * 24 * 365, 'year'),
|
|
|
- array(60 * 60 * 24 * 30, 'month'),
|
|
|
- array(60 * 60 * 24 * 7, 'week'),
|
|
|
- array(60 * 60 * 24, 'day'),
|
|
|
- array(60 * 60, 'hour'),
|
|
|
- array(60, 'minute'),
|
|
|
- array(1, 'second')
|
|
|
- );
|
|
|
+ $time_diff = (is_null($local) || $local ? time() : $local) - $remote;
|
|
|
+ $tense = $time_diff < 0 ? 'after' : 'ago';
|
|
|
+ $time_diff = abs($time_diff);
|
|
|
+ $chunks = [
|
|
|
+ [60 * 60 * 24 * 365, 'year'],
|
|
|
+ [60 * 60 * 24 * 30, 'month'],
|
|
|
+ [60 * 60 * 24 * 7, 'week'],
|
|
|
+ [60 * 60 * 24, 'day'],
|
|
|
+ [60 * 60, 'hour'],
|
|
|
+ [60, 'minute'],
|
|
|
+ [1, 'second']
|
|
|
+ ];
|
|
|
+ $name = 'second';
|
|
|
+ $count = 0;
|
|
|
|
|
|
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
|
|
|
$seconds = $chunks[$i][0];
|
|
|
$name = $chunks[$i][1];
|
|
|
- if (($count = floor($timediff / $seconds)) != 0) {
|
|
|
+ if (($count = floor($time_diff / $seconds)) != 0) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- return __("%d {$name}%s ago", $count, ($count > 1 ? 's' : ''));
|
|
|
+ return __("%d $name%s $tense", $count, ($count > 1 ? 's' : ''));
|
|
|
}
|
|
|
|
|
|
/**
|