Как найти в последний день месяца с даты?

Едва ли функция, но это заставляет меня хихикать, что goto зарезервированное слово, которое не делает ничего кроме запроса javac для ввода по абсолютному адресу Вас в глазу. Только, чтобы напомнить Вам, что Вы находитесь на земле OO теперь.

353
задан Foreever 24 November 2014 в 20:42
поделиться

3 ответа

t возвращает количество дней в месяц заданной даты (см. документацию для date ):

$a_date = "2009-11-23";
echo date("Y-m-t", strtotime($a_date));
759
ответ дан 23 November 2019 в 00:23
поделиться

Вы можете создать дату для первого числа следующего месяца, а затем использовать strtotime ("- 1 день", $ firstOfNextMonth)

17
ответ дан 23 November 2019 в 00:23
поделиться

Вы можете использовать « t » в функции даты, чтобы получить номер дня в конкретном месяце.

Код будет примерно таким:

function lastDateOfMonth($Month, $Year=-1) {
    if ($Year < 0) $Year = 0+date("Y");
    $aMonth         = mktime(0, 0, 0, $Month, 1, $Year);
    $NumOfDay       = 0+date("t", $aMonth);
    $LastDayOfMonth = mktime(0, 0, 0, $Month, $NumOfDay, $Year);
    return $LastDayOfMonth;
}

for($Month = 1; $Month <= 12; $Month++)
    echo date("Y-n-j", lastDateOfMonth($Month))."\n";

Код не требует пояснений. Надеюсь, это поможет.

-3
ответ дан 23 November 2019 в 00:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: