Добро пожаловать на сайт Bitrix Q&A, где вы можете задавать вопросы о программировании и разработке на Битрикс и получать быстрые и квалифицированные ответы от профессионалов!


Фильтрация по свойству с датой

0 голосов
Здраствуйте!
Не могу настроить фильтр для свойства типа Дата/Время.

Писал:
Код
1. $cat_filter["PROPERTY_available"] = "05.04.2007";
2. $cat_filter["PROPERTY_available"] = array(date($DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")),mktime(0,0,0,date("m"),date("d"),date("Y"))));
3. $cat_filter["PROPERTY_available"] = date("d.m.Y");
4. $cat_filter["PROPERTY_available"] = array(date("d.m.Y"));


Варианты 2 и 4 работают для "DATE_ACTIVE_FROM".
Элемент с такой датой точно есть.
Но мне надо, чтобы по моему свойству фильтровалось.

Откройте хитрость для фильтрации полей такого типа.
спросил 13 Янв, 14 от Tarakota (140 баллов)

4 Ответы

0 голосов
Свойство типа Дата/Время "внутре" хранится как строковое с датой в формате YYYY-MM-DD HH:MI:SS.
Соответственно сортировка по значению такого свойства будет работать корректно, а вот значение для фильтрации формируется примерно так: $cat_filter[">"."PROPERTY_available"] = date("Y-m-d");
ответил 28 Апр, 14 от Miso (740 баллов)
0 голосов
Огромное вам спасибо Максим !!! smile:D
Мне нужно было и самому до этого догадаться...
ответил 24 Авг, 14 от Tarakota (140 баллов)
0 голосов
Цитата
Максим Смирнов пишет:
date("Y-m-d");

Неплохо бы было написать Стандартную функцию, преобразовывающую время в этот формат.
Что-то типа $DB->DateFormatToProperty (по аналогии с $DB->DateFormatToPHP).
Ибо плохо будет, если я везде захардкодю date("Y-m-d")
ответил 29 Дек, 14 от Yacut (100 баллов)
0 голосов
Спасибо, помогло. Надо бы добавить в мануал для CIBlockElement::GetList smile;)
ответил 17 Апр, 15 от Lisoska (100 баллов)

Похожие вопросы

0 голосов
4 ответов
спросил 26 Янв, 14 от Kania (5,180 баллов)
0 голосов
1 ответ
спросил 22 Фев от аноним
0 голосов
2 ответов
спросил 01 Ноя, 13 от Saitan (260 баллов)
0 голосов
3 ответов
0 голосов
5 ответов