Мне нужен метод добавления некоторого количества месяцев в любую дату на PHP. Я знаю, как это сделать в MySQL, но не в PHP. Вот моя попытка:Нужно добавить количество месяцев в дату
MySQL:
SELECT DATE_ADD('2011-12-29', INTERVAL 2
MONTH) // Output "2012-02-29"
SELECT DATE_ADD('2011-12-30', INTERVAL 2
MONTH) // output "2012-02-29"
SELECT DATE_ADD('2011-12-31', INTERVAL 2
MONTH) // output "2012-02-29"
PHP:
$date = date_create('2011-12-29');
$date->modify("+1 month");
echo $date->format("Y-m-d");
// Output is "2012-01-29" -- this is correct
$date = date_create('2011-12-30');
$date->modify("+2 month");
echo $date->format("Y-m-d");
// Output is "2012-03-01" -- I need the answer like "2012-02-29"
$date = date_create('2011-12-31');
$date->modify("+2 month");
echo $date->format("Y-m-d");
// Output is "2012-03-02" -- I need the answer like "2012-02-29"
Выход MySQL правильно. Мне нужен тот же вывод в PHP.
http://stackoverflow.com/questions/3602405/php-datetimemodify-adding-and-subtracting-months –
это может помочь вам http://stackoverflow.com/questions/8085886/add-days-to-a -date-in-php и http://stackoverflow.com/questions/3812929/adding-months-to-a-existing-date – Arfeen
вам придется катиться самостоятельно, потому что 2011-12-31 + 2 месяца не является 12-02-29 ... в PHP нет ничего, что будет готово округлить, если вы выше 29. – dqhendricks