@Alex_mersvg

Как правильно отсортировать массив дат?

Дано:
Массив дат который приходит из базы, неизвестно сколько их там. Единственное ограничение это всегда либо 1 дата, либо максимум три.
Формат '2021-02-01';

Задача:
На выходе получить строку типа: 7,9,11 декабря(месяц условный, может быть другой). Если последняя дата это след месяц, например: 30,31,1 то получить вывод 30,31 декабря и 1 января. Если дата 1 то получить вывод, например 7 декабря. Так же если даты две. Или например, если две даты разных месяцев то 31 декабря и 1 января. Месяц тоже нужно определять из строки с датой.

Код писать не прошу, помогите накидать псевдокод, чтобы правильно реализовать фильтр. Можно подсказать примеры, или методы.
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
@vabka
Токсичный
Идёшь по массиву дат и пихаешь их в хештаблицу (ассоциативный массив)
Структура его должна быть примерно такой:
{
  [2020] => {
    [11] => [1],
    [12] => [1, 2, 3]
  },
  [2021] => {
    [1] => [1]
  }
}

Потом проходишься по ключам этого ассоциативного массива и собираешь свою строку.
1 Ноября и 1,2,3 Декабря 2020 года, и 1 января 2021 года.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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