Мне нужно выбрать все строки таблицы, в которых столбец «дата» находится между датой начала и датой окончания (по сравнению только с месяцами и днями). Дата начала - сейчас (), а дата окончания - сейчас () -> изменить (-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, которое мне нужно, также не связанное с годами. Я не могу использовать решения, в которых используется углерод.