Вывод даты и времени как ВК для uCoz

2842 просмотров Alan_Writer 02.10.2013

Вывод даты и времени как ВК для uCoz. ВКонтакте дата отображается статично только для позавчерашних новостей, а если пост добавлен сегодня, то отображается отсчет от времени добавления (5 минуты назад, час назад, 3 часа назад и т.д.). Скрипт ниже позволит добиться аналогичного вывода даты и времени.

На самом деле, к нам в редакцию поступил простой скрипт, который отображает отсчет от даты вместо даты добавления. Ну, вот я подумал, что лучше будет сделать вывод даты и времени как ВКонтакте. Все работает, но код может показаться большим.

Установка

В вид материалов новостей вместо $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?>

Как только Вы добавили материал, в новости вместо даты будет надпись «только что». Дата на странице обновляется автоматически, через минуту будет написано, что новость создана «минуту назад» и т.д.

Теги: для uCoz, Вывод даты как ВК, Вывод даты и времени, дата как ВК, как ВК для uCoz
0 Комментариев