php carbon между датами включительно

Я хочу получить логический результат между двумя датами включительно, и вот мой код.

      $now = Carbon::now();
$now = 2021-09-29 00:00:00

dd( $now->between('2021-09-29 08:00:00', '2021-10-05 23:59:59') );

this would returns false;

Всегда получал ложное значение при попытке сброса. Есть ли способ сделать так, чтобы углеродная дата давала инклюзивные инклюзивные результаты, чтобы она включала диапазон между первой и второй датами.

В основном я хочу получить все даты между 2021-09-29 00:00:00 и 2021-10-05 23:59:59, и я хочу проверить, находится ли 2021-09-29 08:00:00 внутри между этими датами . Я также хочу, чтобы углерод давал инклюзивные результаты между 2021-09-29 00:00:00 и 2021-10-05 23:59:59

2 ответа

Решение

Следуя вашему комментарию:

В основном я хочу получить все даты между 2021-09-29 00:00:00 и 2021-10-05 23:59:59, и я хочу проверить, находится ли 2021-09-29 08:00:00 внутри между этими датами

Типичный способ сделать это:

      dd( $now->gte('2021-09-29') && $now->lt('2021-10-06') )

Это соответствует следующему необработанному SQL:

      WHERE NOW() >= '2021-09-29' AND NOW() < '2021-10-06'

Обратите внимание, что второе сравнение включает в себя весь день 2021-10-05.

Из документации углерода , то between Функция имеет 3-й параметр для включения границ в проверку, что по умолчанию истинно.

В вашем вопросе, похоже, вы устанавливаете $now в качестве начальной границы, а не фактического значения, которое необходимо проверить.

      $now = '2021-09-29 08:00:00'

dd( $now->between('2021-09-29 00:00:00', '2021-10-05 23:59:59') );
Другие вопросы по тегам