Я начинаю с даты 2010-05-01
и заканчиваю 2010-05-10
. Как я могу перебрать все эти даты в PHP?
207
Требуется PHP5.3:
$begin = new DateTime('2010-05-01');
$end = new DateTime('2010-05-10');
$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("l Y-m-d H:i:s\n");
}
Это выведет все дни в определенный период между $start
и $end
. Если вы хотите включить 10-е, установите $end
11-е. Вы можете настроить формат по своему вкусу. Смотрите руководство по PHP для DatePeriod .
$begin->setTime(0,0); $end->setTime(12,0);
или инициализация со временем дня начальной даты, так как любое время позже, чем время конечной даты, будет включать конечную дату в цикл. Не самое стильное решение, но это лучший вариант, если нет правильного флага.Это также включает в себя последнюю дату
Если вам не нужна последняя дата, просто удалите ее
=
из условия.источник
$begin
все будет по- другому . Этот цикл изменяет объект, созданныйnew DateTime( "2015-07-03" )
. Следовательно, почему вы должны использовать версии DateTimeImmutable. Но вам нужны дальнейшие модификации для их использования.Преобразование в метки времени Unix упрощает вычисление даты в php:
При использовании PHP с часовым поясом, имеющим DST, обязательно добавьте время, не равное 23:00, 00:00 или 1:00, чтобы защитить от пропуска или повторения дней.
источник
Копирование из php.net образца для инклюзивного диапазона:
источник
или
источник
Вот еще один простой -
Пример:
источник
Пользователь этой функции: -
Использование / вызов функции: -
Увеличение на один день: -
Увеличение по месяцам: -
используйте третий параметр, если вы хотите установить формат даты: -
источник
вот способ:
Результат $ weekendsInMoth - массив выходных!
источник
Вы можете повторить, как это также,
$_POST['date']
может быть вмятина из вашего приложения или веб-сайта Вместо того, чтобы$_POST['date']
вы также можете разместить свою строку здесь"21-12-2019"
. Оба будут работать.источник
Если вы используете Laravel и хотите использовать Carbon, правильное решение будет следующим:
Не забудьте добавить:
источник
источник