<?php
function difference2($time)
{
$time = time() - $time;
$tokens = array (
31536000 => 'год.',
2592000 => 'месец/месецa',
604800 => 'сед.',
86400 => 'ден/дни',
3600 => 'час/часa',
60 => 'мин.',
1 => 'сек.'
);
$output = array();
foreach($tokens as $unit => $text) {
$numberOfUnits = intval($time / $unit);
if (strstr($text, '/') !== false) {
if ($numberOfUnits == 1) {
list($text,) = explode('/', $text);
} else {
list(,$text) = explode('/', $text);
}
}
$output[] = $numberOfUnits . " " . $text;
$time -= $numberOfUnits * $unit;
}
return implode(', ', $output);
}
function difference($time)
{
$time = time() - $time;
$tokens = array (
31536000 => 'год.',
2592000 => 'месец/месецa',
604800 => 'сед.',
86400 => 'ден/дни',
3600 => 'час/часa',
60 => 'мин.',
1 => 'сек.'
);
foreach($tokens as $unit => $text) {
if ($time < $unit) continue;
$numberOfUnits = floor($time / $unit);
if (strstr($text, '/') !== false) {
if ($numberOfUnits == 1) {
list($text,) = explode('/', $text);
} else {
list(,$text) = explode('/', $text);
}
}
return $numberOfUnits . ' ' . $text;
}
}
echo difference(time() - 12000) . '<br />';
echo difference2(time() - 12000) . '<br />';
echo difference(time() - 6000) . '<br />';
echo difference2(time() - 6000);
?>