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

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

24.09.2013556521

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

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




Сохраните в социальную сеть
Комментарии (21)
Для комментов можно?
0
Денис 25.09.2013 в 16:10Спам
AntonKurilov, кстати, вроде можно.
0
У меня не отображается ничего, если пост добавлен сегодня. (Использую в комментариях).
0
влад 28.09.2013 в 19:38Спам
работает:)
0
yanat 29.09.2013 в 20:41Спам
Работает, но не выводит дату-время как в описании.
Выводит 5 минуты назад, час назад, 3 часа назад, вчера в 13.30, потом "26.09.2013 в 21:39", а должно "26 сен в 21:39". Как можно это исправить ?
0
вот мой скайп burla1996 напиши мне я скажу как исправить
0
yanat 03.10.2013 в 15:19Спам
Вопрос актуален...
0
ринат 11.10.2013 в 20:58Спам
Думаю бессмысленая, но мб кому надо )
1
Взял себе)
1
Всё же удалил с сайта
0
yanat 01.11.2013 в 23:50Спам
Цитата admin
Год легко убрать с помощью <?substr($DATE$,0,10)?>

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

Без изменений...
0
anquietas 10.09.2014 в 04:42Спам
Это не в скрипте делается. Если у тебя ucoz, то ройся и изменяй дату в разделе "Общие настройки". У меня все работает, так как ты описал.
0
Николаич 05.04.2015 в 01:22Спам
Нету там этого.
0
Николаич 05.04.2015 в 01:24Спам
Подтверждаю.
0
Михаил 05.01.2014 в 21:13Спам
Нет, ну фотка конечно четкая, прям то, что надо)))
0
как для каталога файлов сделать, вид материалов?
0
Name Name 13.02.2014 в 19:38Спам
Поставил и удалил, всё работает и настроить можно. Лично мне стандарт нравится больше
0
Домнин 29.07.2014 в 21:18Спам
У вас самый лучший сайт все то что нужно спасибо
1
Омега 24.10.2015 в 22:29
А вот если я хочу использовать данный скрипт на форуме где вывод времени добавления поста в временном формате на приме. 14:21. То выводит только что даже если сейчас время 22:29.
0
Чтобы оставить комментарий под этой публикацией,
зарегистрируйтесь или войдите.
Рейтинг лучших сервисов для самостоятельного создания сайта.
Лучшие конструкторы
Легко! Если пользоваться нашими советами.
Создать сайт