Фильтр по дате

Все вопросы/проблемы по установке и использовании.
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Фильтр по дате

Сообщение nruslan2 »

огонь!!
Philip
Сообщения: 52
Зарегистрирован: 13 ноя 2019, 15:07
Имя: Филипп Портянко
Откуда: Украина, Харьков

Re: Фильтр по дате

Сообщение Philip »

Добрый день, не нашел подходящей темы по моей задаче, эта вроде максимально подходит.
Задача заключается в следующем: нужно формировать счета с выборкой записей по периоду, контрагенту, просто отчеты не подходят, нужно сохранение счета как запись со своим номером датой и так далее.
Для этого была создана отдельная сущность, в которой есть поля "Начало периода-поле дата с календарем" и "Конец периода-поле дата с календарем", а так-же поле "Список записей по MySql запросу", в данном поле можно прописать условие выборки типа дата добавления выбираемой записи больше и меньше начала и конца периода, но с датой условие не проходит, данные дат хранятся в своем формате, возможно ли как-то написать условие по другому? Есть какие то варианты данного решения?
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Фильтр по дате

Сообщение nruslan2 »

Даты хранятся в юникскоде - их надо преобразовывать:
https://dev.mysql.com/doc/refman/8.0/en ... m-unixtime
и тогда все получистя!
Philip
Сообщения: 52
Зарегистрирован: 13 ноя 2019, 15:07
Имя: Филипп Портянко
Откуда: Украина, Харьков

Re: Фильтр по дате

Сообщение Philip »

Добрый день, пока не получилось выбрать записи с помощью поля "Список записей по MySql запросу" с фильтром по дате, уже пробовал разные варианты, есть сущность с полями "Дата начала периода" и "Дата конец периода" тип полей дата с календарем, и поле "Список записей по MySql запросу" в котором прописано условие FROM_UNIXTIME([поле начала периода],'%d-%m-%y')<=FROM_UNIXTIME([Поле с датой в выгребаемой сущности],'%d-%m-%y')<=FROM_UNIXTIME([поле конец периода],'%d-%m-%y'), запрос обрабатывается но выгребает все записи, включен режим отладки, вот ответ select e.* from app_entity_72 e where e.field_1158=2059 and FROM_UNIXTIME(1633986000,'%d-%m-%y')< FROM_UNIXTIME(e.field_1155,'%d-%m-%y')< FROM_UNIXTIME(1634245200,'%d-%m-%y'), первое условие по id оно срабатывает, по дате никак. Единственное поле с датой в выгребаемой сущности "Дата с календарем и временем, но я так понимаю должно работать и так или нет?
Philip
Сообщения: 52
Зарегистрирован: 13 ноя 2019, 15:07
Имя: Филипп Портянко
Откуда: Украина, Харьков

Re: Фильтр по дате

Сообщение Philip »

Пробовал делать все поля даты с выбором времени не помогло, еще обратил внимание, в этой же форме для проверки добавил поле mysql запрос на поле "Дата начала периода" FROM_UNIXTIME([1150],'%d-%m-%y'), в поле появляется значение 11-10-21 на один день раньше в поле начала периода стоит дата 12-10-21, пробовал менять дату начала периода, в поле с запросом значение меняется но на один день раньше, как такое может быть.
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Фильтр по дате

Сообщение support »

У меня как то было такое на одном севере. Методом тыка выяснил что функция time() в пхп и mysql возвращают разные значения, хотя временная зона одинаковая. В качестве решения, просто подкорректировал временную зону в коде для пхп.
Philip
Сообщения: 52
Зарегистрирован: 13 ноя 2019, 15:07
Имя: Филипп Портянко
Откуда: Украина, Харьков

Re: Фильтр по дате

Сообщение Philip »

support писал(а): 24 ноя 2021, 16:05 У меня как то было такое на одном севере. Методом тыка выяснил что функция time() в пхп и mysql возвращают разные значения, хотя временная зона одинаковая. В качестве решения, просто подкорректировал временную зону в коде для пхп.
Спасибо буду разбираться, нашел еще решение методом прибавления 1 дня, нужно пробовать, пока решаю с условием по дате, никак не выходит, фильтр по дате важнее.
Ответить