Как избежать известной ошибки PHP при расчете месяцев?
Код: Выделить всё
$monthstoadd=-1;
//today is 2025-01-24
$date=new DateTime("last day of last month");
echo $date->format('Y-m-d');
//out: is 2024-12-31
$date->modify(($monthstoadd>0?'+':'').$monthstoadd.' month');
echo $date->format('Y-m-d');
//out: is 2024-12-01
Есть ли способ избежать расчета этого месяца ошибка?
Мне интересно, почему разработчики PHP единственные, у кого есть сомнения по поводу обработки месяцев при вычислении даты.
Вот как работает MySQL:

Подробнее здесь: https://stackoverflow.com/questions/793 ... thout-bugs
Мобильная версия