@1ax3l
Web Developer

Как правильней будет фильтрация периода?

Хотел сделать фильтрацию периода, добавил 4 типа (За сегодня, за неделю, за месяц и за год)
Использую laravel фреймворк, сделать запросы для (сегодня, месяц, год) не составит труда но вот "за неделю"
сделать логики не хватает) Как будет правильней отобразить данные "за неделю", суть не в коде, а именно в логике
пример: Начало недели понедельник и конец воскресенье, пользователь захотел увидеть период "за неделю" в понедельник, отобразить текущую неделю (в этом случай записей может и не быть)? или отобразить прошедшую неделю? Или вовсе отобразить данные начиная с этого дня Понедельник до прошедшего Понедельника?
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега Веб-разработка
♬♬
Это следует из бизнес-логики: что нужнее пользователю? Не уверены, спросите пользователей.

Вопрос относится не только к неделям – ко всем периодам. Вариант 1 с привязкой к календарной сетке будет давать пилообразно нарастающие показатели, в зависимости от времени, когда запрошены данные. Вариант 2 будет давать среднее значение (running average) за выбранный период.

И будьте тогда уж постоянны. «За сутки» – с 00 до 23:59 по часовому поясу пользователя, или за последние 24 часа с текущего момента. «За месяц» – за текущий месяц, обнуляя в начале каждого и нарастая к концу, или среднее значение за последние 31 день | календарный месяц до такого же числа предыдущего месяца? «За год» – за этот год (1-го января минимум, в декабре максимум) или до такой же даты прошлого года.

Скажем, для оценки пользователем скорости расходования средств на счёте могут быть полезны оба варианта. Средний расход за последние 7 дней удобно сравнивать с расходом за пред-предыдущие 7 дней. А привязка к календарному месяцу поможет спрогнозировать сумму счёта к оплате на конец месяца, если списывание происходит 1-го числа.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
Я пользуюсь штукой под названием Timedoctor.
День начинается в 00.00, заканчивается в 23.59.
Когда я нажимаю показать неделю - считается время от понедельника 00.00 - 23.59 воскресенья. Если нет записей за период - пишется "извините, кажется вы в это время не работали".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы