Выберите строки между двумя датами, где указаны только месяцы и дни. - PullRequest
0 голосов
/ 16 июня 2020

Мне нужно выбрать все строки таблицы, в которых столбец «дата» находится между датой начала и датой окончания (по сравнению только с месяцами и днями). Дата начала - сейчас (), а дата окончания - сейчас () -> изменить (-100 дней). Таким образом, в списке будут строки, не связанные с годами.

Я попытался получить все строки из таблицы, а затем отфильтровать их следующим образом

$now = new \DateTime()->format('md'); // start date
$day_100 = new \DateTime()->modify('-100 day')->format('md'); // end date
foreach($table_rows as $table_row) {
    if(table_row->date > $day_100 && table_row < $now) {
          $new_table[] = $table_row;
    }
}

, но это не работает в таких случаях, как 2019-12-25 и 2020-01-01, потому что php сравнивает их как числа, я полагаю. При таком подходе я не знаю, как получить количество дней между table_row-> date и $ now, которое мне нужно, также не связанное с годами. Я не могу использовать решения, в которых используется углерод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...