Всем привет!
К примеру есть элементы, у которых заполнены поля DATE_ACTIVE_FROM и DATE_ACTIVE_TO. Они заполнены так:
1 элемент:
Начало активности: 10.04.2013 14:54:14
Окончание активности: 13.04.2013 14:54:14
2 элемент:
Начало активности: 11.04.2013 14:54:14
Окончание активности: 14.04.2013 14:54:14
3 элемент:
Начало активности: 12.04.2013 14:54:14
Окончание активности: 15.04.2013 14:54:14
и так далее...
Вообщем выбрать все элементы, которые входят в диапазон на текущую дату и время, нет проблем:
А как к примеру выбрать те элементы, у которых скажем окончание активности заканчивается через два дня?
Скажем сегодня - 12.04.2013 17:05:05, мне нужно найти элементы, у которых активность заканчивается через два дня. т.е. найти элемент номер 2, при этом элемент номер 1 и 3 не должны попасть в выборку.
Пробую так, но не получается, тут я не правильно указал логику, но не могу сообразить как правильно сделать:
Конечно, если бы не было указано времени у элементов, то все было бы просто:
Вообщем помогите, как правильно сделать выборку с указанным временем в полях DATE_ACTIVE_FROM и DATE_ACTIVE_TO? Заранее спасибо...
К примеру есть элементы, у которых заполнены поля DATE_ACTIVE_FROM и DATE_ACTIVE_TO. Они заполнены так:
1 элемент:
Начало активности: 10.04.2013 14:54:14
Окончание активности: 13.04.2013 14:54:14
2 элемент:
Начало активности: 11.04.2013 14:54:14
Окончание активности: 14.04.2013 14:54:14
3 элемент:
Начало активности: 12.04.2013 14:54:14
Окончание активности: 15.04.2013 14:54:14
и так далее...
Вообщем выбрать все элементы, которые входят в диапазон на текущую дату и время, нет проблем:
Код |
---|
"<=DATE_ACTIVE_FROM" => ConvertTimeStamp(time(),"FULL"), ">=DATE_ACTIVE_TO" => ConvertTimeStamp(time(),"FULL"), |
А как к примеру выбрать те элементы, у которых скажем окончание активности заканчивается через два дня?
Скажем сегодня - 12.04.2013 17:05:05, мне нужно найти элементы, у которых активность заканчивается через два дня. т.е. найти элемент номер 2, при этом элемент номер 1 и 3 не должны попасть в выборку.
Пробую так, но не получается, тут я не правильно указал логику, но не могу сообразить как правильно сделать:
Код |
---|
$arFilter = array( "IBLOCK_TYPE"=>"news", ">=DATE_ACTIVE_TO" => ConvertTimeStamp(time()+(86400*2),"FULL"), ); $res = CIBlockElement::GetList(array("id"=>"ASC"),$arFilter,false,false,array("ID")); while($ar_fields = $res->GetNext()) { echo $ar_fields["ID"]."<br />"; } |
Конечно, если бы не было указано времени у элементов, то все было бы просто:
Код |
---|
$arFilter = array( "IBLOCK_TYPE"=>"news", "DATE_ACTIVE_TO" => ConvertTimeStamp(time()+(86400*2)), ); $res = CIBlockElement::GetList(array("id"=>"ASC"),$arFilter,false,false,array("ID")); while($ar_fields = $res->GetNext()) { echo $ar_fields["ID"]."<br />"; } |
Вообщем помогите, как правильно сделать выборку с указанным временем в полях DATE_ACTIVE_FROM и DATE_ACTIVE_TO? Заранее спасибо...