Поиск последнего дня предыдущего месяца в PHP

Я немного не уверен, почему не удается найти последний день предыдущего месяца. Кажется, что все шаги работают правильно, кроме тех случаев, когда создается окончательная дата.

<?php

$currentMonth = date('n');
$currentYear = date('Y');

if($currentMonth == 1) {
    $lastMonth = 12;
    $lastYear = $currentYear - 1;
}
else {
    $lastMonth = $currentMonth -1;
    $lastYear = $currentYear;
}

if($lastMonth < 10) {
    $lastMonth = '0' . $lastMonth;
}

$lastDayOfMonth = date('t', $lastMonth);

$lastDateOfPreviousMonth = $lastYear . '-' . $lastMonth . '-' . $lastDayOfMonth;

$newLastDateOfMonth = date('F j, Y', strtotime($lastDateOfPreviousMonth));

?>

$lastDateOfPreviousMonth возвращается 2012-09-30, как и ожидалось; однако, после попытки преобразовать его в 30 сентября 2012 года -$newLastDateOfMonth возвращается 1 октября 2012 года. Где я, кажется, иду не так?

РЕДАКТИРОВАТЬ: при использованииdate("t/m/Y", strtotime("last month")); или жеdate('Y-m-d', strtotime('last day of previous month')); Будет ли один из них все еще жизнеспособным, учитывая 2013-01-01, т. е. будут ли они учитывать изменения в году?

Ответы на вопрос(5)

Ваш ответ на вопрос