ВКонтакте если вы заметили вывод времени построен так что сегодня и вчера можно показать в минутах и даже секундах, а уже то что было размещено два дня назад, уже показывает статичным способом. Такой же вариант реально сделать на своем ресурсе uCoz использую стандартные формы отображения даты публикации материала, и так же номерной код точки штампа публикаций который дает возможность создавать любой отсчет времени и тем самым позволяет отображать то что нам необходимо.
Делаем время публикации новости как в ВКонтакте для uCoz. Работает это просто, после того как вы добавили материал или новость, в место надписи сегодня будет выводить как в социальной сети «только что», все обновление происходит цифр автоматический ровно через каждые 60 секунд, обновлять страницу для этого нет необходимости.
Так же можно организовать если есть знание и для комментариев в таком же варианте отображения.
Началом данной разработки было Богданом и его хорошим проектом, после уже скрипт дорабатывался умельцами под свои тип.
Установка В вид материалов новостей заменяем стандартный условный оператор
$DATE$ на код:
Код
<?if($DATE$='Сегодня')?>
<span id="d$ID$"></span>
<script type="text/javascript">
function corrDate(t,n){return n!=0?" " + n + " " + t[n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2] + ", ":"";};
(function(time){var everySecond=true,ar=arguments,_=Math.ceil((time-($TIMESTAMP$*1000))/(1000)),day,hour,min,sec,text=[['день', 'дня', 'дней'], ['час', 'часа', 'часов'], ['минуту', 'минуты', 'минут'], ['секунду', 'секунды', 'секунд']],res; day = Math.floor((_/86400)); _=_-(day*86400); hour = Math.floor((_/3600)); _=_-(hour*3600); min = Math.floor((_/60)); _=_-(min*60);
if(min>0) {if(min==1) {res='Минуту назад'} else {if(hour>0) {if(hour=='1') {res='Час назад'} else {res=corrDate(text[1],hour)}} else {res=corrDate(text[2],min)}}} else {res='Только что'}
document.getElementById("d$ID$").innerHTML=res.replace(/\,\s$/, " назад"); if (everySecond) {setTimeout(function(){ar.callee(new Date().getTime());},1000);}})(new Date().getTime());
</script>
<?else?>
$DATE$ в $TIME$
<?endif?>