Вообщем в dcms 664 есть функция вывода времени vremya(); она выводит время вот так: Вчера в 18:03 а мне нужена функция которая выведет: 1 день 12 часов 37 минут назад.
Если кто то знает где есть то дайте ссылку или я куплю её у вас.
[code]<?php
/*
Функция взята честно с просторов Интернета;
Спасибо TCP/IP протоколам за это.
*/
function plural($n, $plurals) {
$plural =
($n % 10 == 1 && $n % 100 != 11 ? 0 :
($n % 10 >= 2 && $n % 10 <= 4 &&
($n % 100 < 10 or $n % 100 >= 20) ? 1 : 2));
return $plurals[$plural];
}
function relativeTime($dt, $precision = 2) {
$times = array(
365*24*60*60 => array(\"год\", \"года\", \"лет\",
30*24*60*60 => array(\"месяц\", \"месяца\", \"месяцев\",
7*24*60*60 => array(\"неделю\", \"недели\", \"недель\",
24*60*60 => array(\"день\", \"дня\", \"дней\",
60*60 => array(\"час\", \"часа\", \"часов\",
60 => array(\"минуту\", \"минуты\", \"минут\",
);
$diff = time() - $dt;
if($diff < 60) $output=\'меньше минуты\';
else {
$output = array();
$exit = 0;
foreach($times as $period => $name) {
if($exit >= $precision || ($exit > 0 && $period < 60)) break;
$result = floor($diff / $period);
if ($result > 0) {
if($result == 1) $output[] = plural($result, $name);
else $output[] = $result . \' \' . plural($result, $name);
$diff -= $result * $period;
$exit++;
} else if ($exit > 0) $exit++;
}
if ($precision < 3) $sep = \" и \"; else $sep = \", \";
$output = implode($sep, $output);
}
return $output;
}
?>
[/code]
Добавлено 02.01.14 в 10:43:47:
P.S сам под DCMS перепишешь.