Ответ 1
strtotime("first day of last month")
first day of
является важной частью, подробно описанной на странице руководства Относительные форматы.
Пример: http://codepad.viper-7.com/dB35q8 (с жестко запрограммированной сегодняшней датой)
Возможный дубликат:
Как получить предыдущий месяц и год относительно сегодняшнего дня, используя strtotime и дату?
Сегодня 31 декабря, но strtotime("-1 months")
возвращает декабрь:
echo date("Y-m", strtotime("-1 months"));
То же самое для strtotime("last month")
Как я могу вернуть предыдущий месяц (ноябрь)?
Тест: http://codepad.viper-7.com/XvMaMB
strtotime("first day of last month")
first day of
является важной частью, подробно описанной на странице руководства Относительные форматы.
Пример: http://codepad.viper-7.com/dB35q8 (с жестко запрограммированной сегодняшней датой)
strtotime("-1 months")
будет 2012-11-31
, но нет 31 ноября. Это один день минус 2012-11-30
, который дает 2012-12-01
. Вы увидите это, когда будете делать
echo date("Y-m-d", strtotime("-1 months"));
дает в качестве вывода
2012-12-01
См. codepad