@vladislav997

Как в данном случае корректно поправить дату?

Такой вопрос, есть дата, например 2020-06-15. Нужно добавить по одному месяцу на год вперед, а также изменить число на последний день месяца. То есть в итоге должно получится:
2020-06-15 (первая дата)
2020-07-31 (в июле 31 день)
2020-08-31 (в августе 31 день)
2020-09-30 (в сентябре 30 дней)
2020-10-31 (в октябре 31 день)
и так далее до июля 22 года.

Пробую так:
//
            foreach ($getDates as $getDate) {
                # предположим что в getDate лежит - 2020-06-15
                $firstDate = new \DateTime($getDate);
                $datesArr[] = $firstDate->format('Y-m-d');
                    for ($i = 1; $i <= 12; $i++) {
                        $date = new \DateTime($getDate);

                        $month = $date->format('F');
                        $year = $date->format('Y');

                        $date->modify("+$i month");
                        # до этого момента все хорошо, прибавляется по одному мес на год вперед
                        $date->modify("last day of $month $year");
                        # здесь уже все ломается, хотя в доке указано "last day of July 2008"
                        $datesArr[] = $date->format('Y-m-d');
                    }
            }

но это не совсем корректно работает. после строчки modify("last day of $month $year"); подскажите как поправить?
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы