Дата
Описание
Для фильтрации элементов инфоблока по свойству типа Дата переменная должна содержать значение даты в формате: YYYY-MM-DD HH:MI:SS.
Значения фильтра этого типа обрабатываются по следующим правилам:
Операция | Значение | Описание |
---|---|---|
пустая строка | Фильтр по полю применяться не будет. Будут выбраны все значения. | |
false
| Если перед полем этого фильтра указано отрицание (символ "!"), то будут выбраны все не пустые значения.
Иначе будут выбраны пустые значения - NULL. | |
"><" или "!><" | должно быть массивом с двумя элементами | Будет выполнена проверка на попадание в диапазон заданный элементами массива значения фильтра. Включительно. Если перед полем этого указано отрицание (символ "!"), то будут выбраны значения не попадающие в диапазон.
|
"=", "%", "?" или не задана | будет приведено к типу времени БД с помощью функции CharToDateFunction | Проверка на точное совпадение значения. Если указано отрицание, то проверка будет выполнена на неравенство.
|
">", "<", ">=", "<=" | будет приведено к типу времени БД с помощью функции CharToDateFunction | "Больше", "меньше", "больше или равно" и "меньше или равно". Можно использовать "!" для отрицания условия. |
Примечание: если значение фильтра массив, то для каждого элемента будут формироваться соответствующие условия, а затем они будут объединены по "ИЛИ". В случае отрицания условия будут объединяться по "И".
Смотрите также
Примеры использования
1
<? //Все активные элементы это те у которых ACTIVE_FROM не задано или меньше чем сейчас //при не заданной ACTIVE_TO или ACTIVE_TO больше чем сейчас $arFilter = array( "<=DATE_ACTIVE_FROM" => array(false, ConvertTimeStamp(false, "FULL")), ">=DATE_ACTIVE_TO" => array(false, ConvertTimeStamp(false, "FULL")), ); ?>
В примере выше используется ConvertTimeStamp, поэтому дата будет возвращена в формате сайта
2
При фильтрации свойств инфоблока по дате, нужно указывать формат YYYY-MM-DD HH:II, иначе фильтр работать не будет.
$arFilter = array( '>=PROPERTY_DATE_TO' => date( 'Y-m-d H:i:s' ), '<=PROPERTY_DATE_TO' => date( 'Y-m-d H:i:s' ) );
Екатерина Раздорова
|
, Речь в документации про свойства инфоблока, а у Вас на скриншоте поле инфоблока
|
Дмитрий Грищенко
|
||
Если тип свойства "Дата" (не "Дата/Время"), тогда если в фильтре '>=PROPERTY_DATE' = '2019-09-02 00:00:00' то в выборку не попадет элемент со значением "2019-09-02". Но если в фильтре '>=PROPERTY_DATE' = '2019-09-02' или '>=PROPERTY_DATE' = '2019-09-01 23:59:59' тогда этот элемент попадет в выборку. Это связано с тем что в таблице значений свойств b_iblock_element_property поле "VALUE" имеет тип "text". Свойства типа "Строка", "Число", "Дата", "Деньги"... в БД тип "text". | ||
hex2bomb
|
||
Для выборки произвольной даты нужно в
Пример, для выборки из highload блока с пользовательским свойством даты строк начиная с минус 2 недели от текущей минуты
| ||
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.