Вывод даты и времени как ВКонтакте (Час назад)

Вывод даты и времени как ВКонтакте (Час назад)

02013-09-24597321Денис Абдуллин

ВКонтакте дата отображается статично только для позавчерашних новостей, а если пост добавлен сегодня, то отображается отсчет от времени добавления (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?>

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


Создать сайт в uKit Нужен классный сайт для бизнеса?
Воспользуйтесь сервисом uKit. Никакого кода!
Комментарии (21)
Антон Курилов 2013-09-25 в 10:23Спам
Для комментов можно?
0
Денис 2013-09-25 в 16:10Спам
AntonKurilov, кстати, вроде можно.
0
Антон Курилов 2013-09-28 в 14:28Спам
У меня не отображается ничего, если пост добавлен сегодня. (Использую в комментариях).
0
влад 2013-09-28 в 19:38Спам
работает:)
0
yanat 2013-09-29 в 20:41Спам
Работает, но не выводит дату-время как в описании.
Выводит 5 минуты назад, час назад, 3 часа назад, вчера в 13.30, потом "26.09.2013 в 21:39", а должно "26 сен в 21:39". Как можно это исправить ?
0
Максим Касьянов 2013-10-01 в 13:30Спам
вот мой скайп burla1996 напиши мне я скажу как исправить
0
yanat 2013-10-03 в 15:19Спам
Вопрос актуален...
0
ринат 2013-10-11 в 20:58Спам
Думаю бессмысленая, но мб кому надо )
1
Иван Цыганков 2013-10-16 в 13:59Спам
Взял себе)
1
Иван Цыганков 2013-10-22 в 22:12Спам
Всё же удалил с сайта
0
yanat 2013-11-01 в 23:50Спам
Цитата admin
Год легко убрать с помощью <?substr($DATE$,0,10)?>

Где именно его вставить или на что заменить ?
Спасибо.
0
Денис Абдуллин 2013-11-02 в 00:33Спам
$DATE$ заменить на <?substr($DATE$,0,10)?> в виде материалов нужного Вам модуля.
0
yanat 2013-11-03 в 01:07Спам
Цитата admin
$DATE$ заменить на <?substr($DATE$,0,10)?> в виде материалов нужного Вам модуля.

Без изменений...
0
anquietas 2014-09-10 в 04:42Спам
Это не в скрипте делается. Если у тебя ucoz, то ройся и изменяй дату в разделе "Общие настройки". У меня все работает, так как ты описал.
0
Николаич 2015-04-05 в 01:22Спам
Нету там этого.
0
Николаич 2015-04-05 в 01:24Спам
Подтверждаю.
0
Михаил 2014-01-05 в 21:13Спам
Нет, ну фотка конечно четкая, прям то, что надо)))
0
Сергей Гатеев 2014-01-15 в 22:41Спам
как для каталога файлов сделать, вид материалов?
0
Name Name 2014-02-13 в 19:38Спам
Поставил и удалил, всё работает и настроить можно. Лично мне стандарт нравится больше
0
Домнин 2014-07-29 в 21:18Спам
У вас самый лучший сайт все то что нужно спасибо
1
Омега 2015-10-24 в 22:29
А вот если я хочу использовать данный скрипт на форуме где вывод времени добавления поста в временном формате на приме. 14:21. То выводит только что даже если сейчас время 22:29.
0
Чтобы оставить комментарий или отзыв под этой публикацией, войдите или зарегистрируйтесь.