Intereting Posts

PHP strtotime: Получить предыдущий месяц

Возможный дубликат:
Как получить предыдущий месяц и год относительно сегодняшнего дня, используя strtotime и дату?

Сегодня 31 декабря, но strtotime("-1 months") возвращается в декабре:

 echo date("Ym", strtotime("-1 months")); 

То же самое для strtotime("last month")

Как я могу вернуть предыдущий месяц (ноябрь)?

Тест: http://codepad.viper-7.com/XvMaMB

 strtotime("first day of last month") 

first day of – это важная часть, подробно описанная на странице руководства Relative Formats .


Пример: http://codepad.viper-7.com/dB35q8 (с жестко запрограммированной сегодняшней датой)

strtotime("-1 months") будет 2012-11-31 , но 31 ноября нет. Это один день после 2012-11-30 , который дает 2012-12-01 . Вы увидите это, когда вы это сделаете

 echo date("Ymd", strtotime("-1 months")); 

дает в качестве вывода

2012-12-01

См. Код