КреатиВ.ТуТ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » КреатиВ.ТуТ » IPB 1.3 » Время на русском языке


Время на русском языке

Сообщений 1 страница 8 из 8

1

Вот заметил (в принципе давно уже) что на Креативе стоит модификация которая проставляет время на русском языке, а именно "Сегодня", "Вчера", "2 часа назад" и так далее...

Не подскажете как её реализовать?

0

2

Тута (Даты) можно посмотреть, а по хорошему лучше дёрнуть из исходного кода, называется "// функция подмены даты"

Отредактировано Grin (2009-04-23 07:54:28)

0

3

а по хорошему лучше дёрнуть из исходного кода, называется "// функция подмены даты"

Из исходника это скопировал, и поместил в шапку форума:

Свернутый текст

// функция подмены даты
function showDate(date1) {
   var timeNow = new Date();
   var timeUpdate = new Date(date1);
   DateStr = date1;

   yearsIsUp   = Math.round((timeNow.getTime() - timeUpdate.getTime())/(24*60*365*60*1000));
   monthIsUp   = Math.round((timeNow.getTime() - timeUpdate.getTime())/(24*60*30*60*1000));
   daysIsUp    = Math.round((timeNow.getTime() - timeUpdate.getTime())/(24*60*60*1000));
   hoursIsUp   = Math.round((timeNow.getTime() - timeUpdate.getTime())/(60*60*1000));
   minutesIsUp = Math.round((timeNow.getTime() - timeUpdate.getTime())/(60*1000));

   if (daysIsUp == 0) {
     if (hoursIsUp == 0) {
       DateStr = minutesIsUp + " мин. назад";
     } else if ((hoursIsUp >= 1) && (hoursIsUp < 3)) {
       if ((minutesIsUp > 29) && (minutesIsUp < 60)) {
         DateStr = minutesIsUp + " мин. назад";
       } else if ((minutesIsUp >= 60) && (minutesIsUp < 70)) {
         DateStr = "Час назад";
       } else if ((minutesIsUp >= 70) && (minutesIsUp < 100)) {
         DateStr = "Полтора часа назад";
       } else {
         minutes = Math.round((((((minutesIsUp/60)%1)*100)*60)/100));
         DateStr = ((minutesIsUp/60) - ((minutesIsUp/60)%1)) + " ч " + minutes + " мин. назад";
       }
     } else {
       DateStr = "Сегодня в " + timeUpdate.getHours() + ":" + timeUpdate.getMinutes() + ":" + timeUpdate.getSeconds();
     }
   } else if (daysIsUp == 1) {
     DateStr = "Вчера в " + timeUpdate.getHours() + ":" + timeUpdate.getMinutes() + ":" + timeUpdate.getSeconds();;
   } else if (daysIsUp == 2) {
     DateStr = "Позавчера в " + timeUpdate.getHours() + ":" + timeUpdate.getMinutes() + ":" + timeUpdate.getSeconds();;;
   } else {
     if (yearsIsUp == 0) {
       DateStr = DateStr.replace(timeUpdate.getFullYear(),"");
     }
   }
   
   document.write(DateStr);
}

Эффекта ноль  :nea:

0

4

2 Haktar:
Еще не хватает:

<script>showDate("{$post['post_date']}")</script>

а куда это ставить не скажу.  :P
Поищи в скинах строку {$post['post_date']}, и там где она есть замени на то что я написал в цитате.
P.S. Найди хотя бы одно место где есть {$post['post_date']}, замени... а там видно будет оно или нет.

Отредактировано Grin (2009-04-23 20:38:20)

0

5

а куда это ставить не скажу

Я так понял что в стили, верно? :D

Поищи в скинах строку {$post['post_date']}, и там где она есть замени на то что я написал в цитате.
P.S. Найди хотя бы одно место где есть {$post['post_date']}, замени... а там видно будет оно или нет.

В раздел <!-- POSTED DATE DIV -->

Поставил, работает... Сейчас буду тестить... Потом отпишусь :)

Но сразу воопросик. А как насчёт разделов и на главной странице? {$post['post_date']} ведь только на темы распростроняеться....

0

6

Хм, хотелось бы чтоб скрипт только отображался так:

Вчера в 22:53:2
Сегодня в 17:37:18

(Позавчера не нужно)

Тоесть чтоб 2 ч 13 мин. назад  не было, а было просто Сегодня.

В скрипте копался, хотел внести изменения - не получаеться...

0

7

Проверяем.

Свернутый текст
Код:
<script>
function showDate(date) {
	var mondays = new Array (31,28,31,30,31,30,31,31,30,31,30,31);
	var timeNow = new Date();
	var now_month = timeNow.getMonth();
	var now_date = timeNow.getDate();
	var now_year = timeNow.getFullYear();
	var timeUpdate = new Date(date);
	var old_month = timeUpdate.getMonth();
	var old_date = timeUpdate.getDate();
	var old_year = timeUpdate.getFullYear();
	var old_time = timeUpdate.getHours() + ":" + timeUpdate.getMinutes() + ":" + timeUpdate.getSeconds();
	if (now_year % 4 == 0) {
  mondays.splice(1, 1, "29");
	} else { }
	if (mondays[old_month] == old_date) {
  old_date = 0;
	} else { }
	
	if (now_month == old_month && now_date == old_date && now_year == old_year) {
  document.write("Сегодня в " + old_time);
	} else if ((now_month == old_month || now_month == old_month + 1) && now_date == old_date + 1 && (now_year == old_year || now_year == old_year + 1)) {
  document.write("Вчера в " + old_time);
	} else {
  document.write(date);
	}
}
</script>

Отредактировано Grin (2009-04-28 10:39:38)

0

8

Проверяем.

Свернутый текст
Код:
<script>
function showDate(date) {
	var mondays = new Array (31,28,31,30,31,30,31,31,30,31,30,31);
	var timeNow = new Date();
	var now_month = timeNow.getMonth();
	var now_date = timeNow.getDate();
	var now_year = timeNow.getFullYear();
	var timeUpdate = new Date(date);
	var old_month = timeUpdate.getMonth();
	var old_date = timeUpdate.getDate();
	var old_year = timeUpdate.getFullYear();
	var old_time = timeUpdate.getHours() + ":" + timeUpdate.getMinutes() + ":" + timeUpdate.getSeconds();
	if (now_year % 4 == 0) {
  mondays.splice(1, 1, "29");
	} else { }
	if (mondays[old_month] == old_date) {
  old_date = 0;
	} else { }
	
	if (now_month == old_month && now_date == old_date && now_year == old_year) {
  document.write("Сегодня в " + old_time);
	} else if ((now_month == old_month || now_month == old_month + 1) && now_date == old_date + 1 && (now_year == old_year || now_year == old_year + 1)) {
  document.write("Вчера в " + old_time);
	} else {
  document.write(date);
	}
}
</script>

Куда вставлять данный мод?

0


Вы здесь » КреатиВ.ТуТ » IPB 1.3 » Время на русском языке