Вчера я столкнулся с проблемой, когда PHP strtotime неправильно добавил месяц. На «2011-05-31» я запустил:
date('Y-m-d',strtotime( '+1 month', strtotime('now')));
Что возвращает «2011-07-01», когда я ожидаю «2011-06-30».
MySQL не имеет никаких проблем с этим.
Я бы предпочел не изобретать велосипед с этим, поскольку по моему опыту довольно легко ошибиться при вычислении даты.
Есть ли у кого-нибудь надежное и проверенное решение для этого для PHP 5.1?