Цикл от заданной даты до (но не включая) текущей даты

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

Собрав воедино код, который я нашел в Интернете, я нашел следующее решение, которое делает почти то, что я хочу:

$date_begin = new DateTime("2005-03-11");
$today = new DateTime("now");
for ($i = $date_begin; $i <= $today; $i->modify("+1 day")) {
...
}

Этот код проходит через все дни с указанной даты до текущей даты, включая текущую дату. Я бы подумал, что чтобы исключить текущую дату, мне просто нужно заменить $i <= $today на $i < $today. Но это не работает. Даже если < вместо <=, в цикл включается текущая дата. Почему это? Что я неправильно понимаю? И как можно исключить текущую дату?

$date_begin время полночь. $today включает текущее время. Вы можете изменить $today, чтобы установить час, минуту и ​​секунду на 0.
Tim Roberts 24.06.2024 03:49

Спасибо! Замена DateTime("now") на DateTime("today midnight") помогла.

Wolfhart 24.06.2024 04:59

Перебирайте период даты с помощью foreach() вместо того, чтобы каждый раз вручную проверять, находится ли день в пределах диапазона. Как найти даты между двумя указанными датами? Как найти даты между двумя указанными датами? и Создайте иерархический многомерный массив со всеми значениями года, месяца, дня и часа в диапазоне лет

mickmackusa 25.06.2024 02:58
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
$date_begin = new DateTime("2005-03-11");
$today = new DateTime("now");
$today->modify("00:00:00.0");

for ($i = $date_begin; $i < $today; $i->modify("+1 day")) {
 //...
}

Пожалуйста, никогда не публикуйте ответы, содержащие только код, на Stack Overflow.

mickmackusa 25.06.2024 03:02

Другие вопросы по теме