Как сравнить значения $DATE$ и $ADD_DATE$
|
|
iggy | Дата: 21 Сентября 2010, 16:04 | Сообщение # 1 | ● ● ● ● ● 5 сообщений Статус: Offline | Задача заключается в том, чтобы показать или скрыть информацию в зависимости от даты добавления материала в модуле БЛОГ. Т.е. нужно показать "1" если текущая дата меньше или равна дате добавления, и показать "0" если текущая дата больше даты добавления. Примерно так: <?if($ADD_DATE$=>$DATE$)?>событие еще не прошло<?endif?> <?if($ADD_DATE$<$DATE$)?>событие уже прошло<?endif?> Приведенный пример правильный с точки зрения логики, но на практике эти условия работают неправильно. В админке значение, принимаемое параметром $DATE$ установлено в словесный режим (Сегодня, Вчера). Менять его нельзя (условие реализации). Спасибо  | | |
|
cucYa | Дата: 21 Сентября 2010, 16:31 | Сообщение # 2 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Сравнивать нужно в UNIX. | | |
|
iggy | Дата: 21 Сентября 2010, 16:49 | Сообщение # 3 | ● ● ● ● ● 5 сообщений Статус: Offline | Если нетрудно, приведите пример. Я не знакос этим | | |
|
cucYa | Дата: 21 Сентября 2010, 21:52 | Сообщение # 4 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | [var]timestamp[/var] | | |
|
Denisгггг | Отредактировал Denisгггг - Вторник, 21 Сентября 2010, 22:40 Дата: 21 Сентября 2010, 22:39 | Сообщение # 5 | ● ● ● ● ● 232 сообщения Статус: Offline | Количество миллисекунд с 1янв 1970 до текущей даты на компьютере Code c = new Date().getTime(); Количество миллисекунд с 1янв 1970 до даты добавления Code c = new Date().getTime(); if(c>=$TIMESTAMP$) {alert('событие уже прошло');} else {alert('событие еще не прошло');} | | |
|
iggy | Отредактировал iggy - Среда, 22 Сентября 2010, 00:30 Дата: 22 Сентября 2010, 00:20 | Сообщение # 6 | ● ● ● ● ● 5 сообщений Статус: Offline | спасибо, а существует возможность реализации не через js? и если - нет, то как синтаксически правильно вывести результат не в с помощью alert, а в тело страницы вместо 'событие уже прошло' кусок html-кода. Т.е. типа такого: Code <script type="text/javascript"> c = new Date().getTime();
if(c>=$TIMESTAMP$) {вывод в тело страницы(' <div>событие уже прошло</div> ');}
else {вывод в тело страницы(' <div>событие еще не прошло</div> ');} </script> Спасибо. Сорри, js не знаю. | | |
|
kubik-rubik | Дата: 22 Сентября 2010, 08:22 | Сообщение # 7 |  ● ● ● ● ● 379 сообщений Статус: Offline | Code document.write('Событие уже произошло') | | |
|
iggy | Дата: 22 Сентября 2010, 10:11 | Сообщение # 8 | ● ● ● ● ● 5 сообщений Статус: Offline | Ок. Не могу разобраться с синтаксисом. Вот: Code <script type="text/javascript"> c = new Date().getTime(); if (c>=$TIMESTAMP$) { function displ(div1) { (document.getElementById(div1).style.display == 'none') {document.getElementById(div1).style.display = 'block'} } else {document.getElementById(div1);document.write('событие прошло')} } </script> | | |
|
kubik-rubik | Дата: 22 Сентября 2010, 12:35 | Сообщение # 9 |  ● ● ● ● ● 379 сообщений Статус: Offline | Code document.getElementById('div1').innerHTML = 'событие прошло' | | |
|
iggy | Дата: 22 Сентября 2010, 13:13 | Сообщение # 10 | ● ● ● ● ● 5 сообщений Статус: Offline | Если не трудно, не могли бы вы помочь исправить весь код так чтобы он работал. Я не знаю синтаксис, где-то есть ошибка. | | |
|
uWeb | Дата: 22 Сентября 2010, 14:30 | Сообщение # 11 | ● ● ● ● ● 1135 сообщений Статус: Offline | Такое сложно исправить. Скажите что Вам нужно сделать? | | |
|
cucYa | Отредактировал cucYa - Среда, 22 Сентября 2010, 16:15 Дата: 22 Сентября 2010, 16:14 | Сообщение # 12 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Code $('#div1').html((new Date().getTime()) >= $TIMESTAMP$ ? 'Прошло' : 'Идёт'); | | |
|
natrud | Дата: 16 Февраля 2014, 16:28 | Сообщение # 13 | ● ● ● ● ● 1 сообщение Статус: Offline | Тоже задавалась этим вопросом. Сравнивать $DATE $ADD_DATE нельзя. Для этого есть специальная метка $TIMESTAMP$. Свой вариант решения этого вопроса описала на своем сайте: Скрипт сравнения даты | | |
|