Как в условном операторе получить предыдущую даты в формате dd.mm.yyyy?

голоса: 0

Использую в условии тег $DATE$. Для получения предыдущей даты пишу  $DATE$-1, возвращает дату в вид dd.mm. Каким образом можно получить предыдущую дату, для использования в условных операторах в формате dd.mm.yyyy?

$DATE$ = 11.04.2019.

<? $DATE$ -1 ?> = 10.04

В условии сравниваю со значение доп поля, в котором в ручную указывается дата, $OTHER1$ - dd.mm.yyyy
<?if($OTHER1$=<? $DATE$-1 ?>)?>

Чем можно заменить или как поправить изменение формата DATE?

Адрес сайта http://maxiprog.my1.ru/board/
| Автор: | Категория: Вопросы новичков

Ответов: 2

голоса: 0

Можно сделать примерно так:

<?$DATE$-1?>.<?substr($DATE$,6)?>

| Автор:
Спасибо за подсказку. Попробовал, но в условном операторе не срабатывает.
голоса: 0
Условием это сделать очень сложно, а если дата будет 1.04.2019 то что вернет отнимание единицы? Это делается скриптом, опишите детально что должно произойти когда две даты совпадут.
| Автор:

Модуль - доска объявлений. Задача стоит такая: на главной странице доски объявлений должна быть ссылка в виде даты, по нажатию которой раскрывается блок с материалами за этот день.  Группировка по дням должна быть на неделю, первая ссылка текущая дата, вторая - предыдущая дата и т.д.. Т.е. 7 ссылок-дат за которыми блоки материалов за эту дату. Как я понимаю, это можно реализовать в UCOZ при помощи информеров. Один информер собирает материалы за один день. В шаблоне иноформера отбор материалов производится при помощи условия:
<?if($OTHER1$=<?$DATE$?>)?>, где $OTHER1$ - это доп.поле, формата dd.mm.yyyy в которую пользователь вбивает дату создания материала.  В таком виде все работает, работает и если в условии прописывать дату, к примеру:
<?if($OTHER1$='12.04.2019')?> 

Но, в таком виде <?if($OTHER1$=<?$DATE$-1?>)?>, таком <?if($OTHER1$=' <?$DATE$-1?> ')?> или  <?if($OTHER1$=<?$DATE$-1?>.<?substr($DATE$,6)?>)?> - условие не работает.  Если в поле $OTHER1$ указывать дату dd.mm,  то и даже в этом случае условие не работает, что говорит о том, что выражение <?$DATE$-1?>  при помещении его в условный оператор - не работает. 

Поэтому прошу помощи. 

Владимир Глухов,
Покажите код информера, учтите информер отдает вам сервер, а не вы выбираете дату, если конечно не выборку за месяц.
Sentimo,

Этот иноформер работает.

<?if($OTHER10$=$DATE$)?>
<?if($OTHER9$='Успешно')?> 
<li class="winli"><a class="win" href="#" onclick="window.open('$ENTRY_URL$','_self');return false;">$OTHER3$ - $OTHER9$ </a></li><br>
<?else?>
<li class="loseli"><a class="lose" href="#" onclick="window.open('$ENTRY_URL$','_self');return false;">$OTHER3$ - $OTHER9$</li></a>
<?endif?>
<?endif?>

А вот этот не работает(условие не срабатывает)

<?if($OTHER10$='<?$DATE$-1?>.<?substr($DATE$,6)?>'?>
<?if($OTHER9$='Успешно')?> 
<li class="winli"><a class="win" href="#" onclick="window.open('$ENTRY_URL$','_self');return false;">$OTHER3$ - $OTHER9$ </a></li><br>
<?else?>
<li class="loseli"><a class="lose" href="#" onclick="window.open('$ENTRY_URL$','_self');return false;">$OTHER3$ - $OTHER9$</li></a>
<?endif?>
<?endif?>
Выражение $OTHER10$  = <?$DATE$-1?>.<?substr($DATE$,6)?> - в теле информера, но вне условия - возвращает 13.04.2019 = 13.04.2019

Выборку ставлю - за год

...