Мне не удалось найти правильное решение этой проблемы. Как вы видите в примере № 3 в документации PHP, они указывают, что one must beware when adding months с использованием DateInterval в DateTime ::
Есть ли какая-либо функция для деления даты начала и окончания на чашки $interval дней (или месяцев)? Например: $interval = new DateInterval('P10D');
$start = new DateTime('2012-01-10');
$end = new