имеется такой код для вычисления количества дней между двумя датами:
$datetime1 = date_create("2018-10-01");
$datetime2 = date_create("2018-10-31");
$interval = date_diff($datetime1, $datetime2);
$diff = $interval->format('%d');
for($i = 0; $i <= $diff; $i++){
$arr_days[] = date("d.m.Y", strtotime("2018-10-01 +$i day"));
}
var_dump($arr_days);
с помощью этого я пробегаю каждый день в году(использую модификатор t, в коде дата просто для примера), однако код работает не на всех месяцах.
на 1,2,4,6,8,9,11 месяцах работает как надо
на 3,5,7,10,12 месяцах в массиве только один элемент - первый день месяца.
отличился только 3й месяц, в массив почему то попало 3 дня.
если вписать 30 вместо 31, то всё сработает нормально, однако в этом месяце 31 день.
PHP 5.6.3
поведение совсем не очевидное, почему это происходит? есть какие то более надёжные средства вычисления дат?
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости