Как узнать сколько дней прошло с момента добавления фото

Общие вопросы по системе юкоз, вопросы по ucoz, вопросы без определенной темы

Как узнать сколько дней прошло с момента добавления фото

» » Сообщение:

Здравствуйте!

Есть код:

php Код: Выделить всё Развернуть
$DATE$-$ADD_DATE

Пример №1

Дата: 04.05.2017
Дата добавления: 02.02.2017

Код выдаст 2.03 (где 2 - дни, 03 - месяцы).

---

Пример №2

Дата: 04.05.2017
Дата добавления: 02.05.2017

Код выдаст 2 (2 дня).

---

Вопрос: Как посчитать количество дней с помощью условных операторов ucoz или через скрипт?

дата, разница, скрипт, количество дней

Re: Как узнать сколько дней прошло с момента добавления фото

Admin » » Сообщение:

Fearfire писал(а) › 03 май 2017, 22:00:Как посчитать количество дней с помощью условных операторов ucoz или через скрипт?

Через условные операторы - достаточно сложно..
Например:
Дата: 04.05.2017
Дата добавления: 30.04.2017
Код выдаст -25.99
По этому такое вычитание даты не подходит..

Ну а скриптом - так:

Код: Выделить всё Развернуть
function getDays(data, add_data){
   var d1 = data.split('.'), d1 = new Date(parseInt(d1[2]), parseInt(d1[1]), parseInt(d1[0]));
   var d2 = add_data.split('.'), d2 = new Date(parseInt(d2[2]), parseInt(d2[1]), parseInt(d2[0]));
   return parseInt((d1-d2)/86400000);
}
// alert(getDays('$DATE$','$ADD_DATE$'));
alert(getDays('05.05.2017','02.02.2017')); // 95

Re: Как узнать сколько дней прошло с момента добавления фото

Fearfire » » Сообщение:

Собственно задача сводится к тому, чтобы в подсказке (а может и отдельно) вывести такой текст: "Количество просмотров за N дней"
(где N - количество просмотров с момента добавления фотографии на сайт)

Скрипт работает, а как теперь вывести данные в подсказку или в текст?



Re: Как узнать сколько дней прошло с момента добавления фото

Fearfire » » Сообщение:

Admin писал(а) › 05 май 2017, 19:58:Так, например:

Да, только что нашел что через "document.write"! Спасибо!
Только в подсказке title не получается, так как код скрипта не выполняется, а распознаётся как текст :)

html Код: Выделить всё Развернуть
<span class="user_fviews" title="Количество просмотров за _ дней></span>

А может титл через скрипт прописать?...

script Код: Выделить всё Развернуть
element.title="...";

Re: Как узнать сколько дней прошло с момента добавления фото

Admin » » Сообщение:

Fearfire писал(а) › 05 май 2017, 20:01:А может титл через скрипт прописать?...
Код: Выделить всё Развернуть
<script type="text/javascript">document.write('<span class="user_fviews" title="Количество просмотров за '+getDays('$DATE$','$ADD_DATE$')+' дней"></span>');</script>

или добавляешь элементу уникальный ID и обращаешься к нему уже как обычно, по ID ..


Re: Как узнать сколько дней прошло с момента добавления фото

Fearfire » » Сообщение:

Отлично! :hands:

То, что получилось:

Код: Выделить всё Развернуть
<script type="text/javascript"> function getDays(data, add_data){
var d1 = data.split('.'), d1 = new Date(parseInt(d1[2]), parseInt(d1[1]), parseInt(d1[0]));
var d2 = add_data.split('.'), d2 = new Date(parseInt(d2[2]), parseInt(d2[1]), parseInt(d2[0]));
return parseInt((d1-d2)/86400000);}
</script>
     
<noscript><span class="user_fviews" title="Количество просмотров" style="cursor:help;"><noindex>$REVIEWS$</noindex></span></noscript>
<script type="text/javascript">document.write('<span class="user_fviews" title="Количество просмотров за '+getDays('$DATE$','$ADD_DATE$')+' дней" style="cursor:help;"><noindex>$REVIEWS$</noindex></span>');</script>

Добавлено спустя 11 минут 49 секунд:
Нашёл "генератор склонения слов" (ссылка)
И попробовал создать код для слова "день", но в ведённом поле это значение "+getDays('$DATE$','$ADD_DATE$')+" не даёт нужного результата, здесь должно быть число...

Результат генерируемого кода:

Код: Выделить всё Развернуть
д<?if(+getDays('$DATE$','$ADD_DATE$')+%10=0||+getDays('$DATE$','$ADD_DATE$')+%10>4||+getDays('$DATE$','$ADD_DATE$')+%100>10&&+getDays('$DATE$','$ADD_DATE$')+%100<15)?>ней<?else?><?if(+getDays('$DATE$','$ADD_DATE$')+%10=1)?>ень<?else?>ня<?endif?><?endif?>

Может присвоить результат вычисления переменной и её добавить в код?...


Re: Как узнать сколько дней прошло с момента добавления фото

Admin » » Сообщение:

Fearfire писал(а) › 05 май 2017, 20:44:Может присвоить результат вычисления переменной

Если бы можно было бы, то не нужен был бы скрипт..

Код: Выделить всё Развернуть
function declination(num){
   var basic = ['д', 'ней', 'ень', 'ня'];
   if(num%10 == 0 || num%10>4 || num%100>10 && num%100<15){
      return basic[0]+basic[1];
   }else if(num%10 == 1){
      return basic[0]+basic[2];
   }
   return basic[0]+basic[3];
}

Юзать так:

Код: Выделить всё Развернуть
<script type="text/javascript">
(function(){var d = getDays('$DATE$','$ADD_DATE$'), s = declination(d); document.write('<span class="user_fviews" title="Количество просмотров за '+d+' '+s+'" style="cursor:help;"><noindex>$REVIEWS$</noindex></span>');})();
</script>

Re: Как узнать сколько дней прошло с момента добавления фото

Fearfire » » Сообщение:

А если количество дней равно 0, то что нужно изменить в скрипте, чтобы при этом значении выводилось слово "сегодня" ?
Создать условие с "d1-d2" и если = 0, то "+d+" присвоить "сегодня", правильно?
Напишите код, пожалуйста! :)


Re: Как узнать сколько дней прошло с момента добавления фото

Admin » » Сообщение:

Fearfire писал(а) › 06 май 2017, 21:45:А если количество дней равно 0, то что нужно изменить в скрипте, чтобы при этом значении выводилось слово "сегодня" ?

Достаточно добавить условие:

Код: Выделить всё Развернуть
<?if($DATE$==$ADD_DATE$)?>Сегодня<?else?> ... <?endif?>
Fearfire писал(а) › 06 май 2017, 21:45:Создать условие с "d1-d2" и если = 0, то "+d+" присвоить "сегодня", правильно?

В каком случае количество дней будет равно 0?
В таком случае, и «дней» убирать надо..


Re: Как узнать сколько дней прошло с момента добавления фото

Fearfire » » Сообщение:

Admin писал(а) › 07 май 2017, 00:09:Достаточно добавить условие

Да, не подумал об этом! Спасибо!

Admin писал(а) › 07 май 2017, 00:09:В каком случае количество дней будет равно 0?

Если материал добавлен сегодня.





Похожие темыКомментарии ПросмотрыПоследнее сообщение
01372Как узнать номер поста на форуме юк...
Сообщение от: Admin
0390Как узнать размеры - ширину и высо...
Сообщение от: Admin
0482Как узнать номер своего мобильного ...
Сообщение от: Admin
11495Re: Помогите узнать, что за сайт
Сообщение от: Admin
121228Re: Стрелочки следующее и предыдуще...
Сообщение от: alexandr