Страница 1 из 11
Модератор форума: Yuri_G 
Сообщество uCoz » Мастерская uCoz » Дизайн: управление шаблонами » сравнение двух дат на странице материала - $ADD_DATE$ и $DAT
сравнение двух дат на странице материала - $ADD_DATE$ и $DAT
TS
Сообщений: 8
Репутация: 0

Сообщение # 1 | 00:13:36
Цитата
Друзья, помогите, пожалуйста. Пытаюсь сделать сравнение двух дат на странице материала - $ADD_DATE$ и $DATE$, но результат всегда оказывается не правильным. Пробывал эксперементировать со скобками, но т.к. точно не знаю, что нужно брать в скобки, а что не нужно, результат не изменился.

Что нужно: если дата добавления больше сегодняшней даты, то выводить текст А, в обратном случае - текст Б

Пытался сделать так:
<?if(((substr($ADD_DATE$,6,4)=$YEAR$) and (substr($ADD_DATE$,3,2)=$MONTH$) and (substr($ADD_DATE$,0,2)>$DAY$)) or ((substr($ADD_DATE$,6,4)=$YEAR$) and (substr($ADD_DATE$,3,2)>$MONTH$)) or (substr($ADD_DATE$,6,4)>$YEAR$))?>1
2
Т.е. по идее, есть три варианта:
год добавления = году И месяц добавления = месяцу И день добавления > дня
год добавления = году И месяц добавления > месяца
год добавления > года

но реализация у меня видимо не правильная Добавлено (20 Июн 2014, 15:43:58)
---------------------------------------------
Немного изменил условие:
<?if((substr($ADD_DATE$,6,4))>(substr($YEAR$,0,4)))?>
Действует
<?else?>

<?if(((substr($ADD_DATE$,6,4))=(substr($YEAR$,0,4))) and ((substr($ADD_DATE$,3,2))>(substr($MONTH$,0,1))))?>
Действует
<?else?>

<?if(((substr($ADD_DATE$,6,4))=(substr($YEAR$,0,4))) and ((substr($ADD_DATE$,3,2))=(substr($MONTH$,0,1))) and ((substr($ADD_DATE$,0,2))>(substr($DAY$,0,2))))?>
Действует
<?else?>
Срок действия истек
<?endif?>

<?endif?>

<?endif?>

Первые два условия работают, третье - нет.

Прошу помощи у более опытных форумчан))Добавлено (20 Июн 2014, 15:57:53)
---------------------------------------------
Последнюю проблему решил следующим образом: <?if(((substr($ADD_DATE$,6,4))=(substr($DATE$,6,4))) and ((substr($ADD_DATE$,3,2))=(substr($DATE$,3,2))) and ((substr($ADD_DATE$,0,2))>(substr($DATE$,0,2))))?>


не работает если месяц больше текущего.
например, новость с датой добавления в октябре, показывает как "Срок действия истек ".

как исправить??
Сообщение отредактировал TS - Пятница, 25 Сен 2015, 00:15:01
brizing
Разработчик
Сообщений: 2556
Репутация: 1080

Сообщение # 2 | 00:23:17
Цитата TS ()
например, новость с датой добавления в октябре, показывает как "Срок действия истек ".
Ну правильно, октябрьская запись была сделана 11 месяцев тому назад.

Попробуйте новый сервис uCalc - конструктор калькуляторов услуг для вашего бизнеса.
TS
Сообщений: 8
Репутация: 0

Сообщение # 3 | 00:32:14
Цитата brizing ()
Ну правильно, октябрьская запись была сделана 11 месяцев тому назад.

не так выразился, то что добавлено в этом месяце показывает правильно, а все что "будет" добавлено в следующем месяце этого года, показывает не правильно.

у меня есть материал в модуле новости который добавлен в октябре 2015 года)
я использую "будущие даты")
Сообщение отредактировал TS - Пятница, 25 Сен 2015, 00:33:34
Сообщество uCoz » Мастерская uCoz » Дизайн: управление шаблонами » сравнение двух дат на странице материала - $ADD_DATE$ и $DAT
Страница 1 из 11
Поиск: