Ошибка функции mktime в переполнении стека

echo date("Y-m-d H:i:s", mktime(0, 0, 0, 2, 0, 2014));

Выход

2014-01-31 00:00:00

Так должно быть

2014-02-28 00:00:00

Где не то, что я здесь делаю?

-3

Решение

Я не вижу проблемы. Это выглядит правильно для меня.

Вы запросили 0 февраля, то есть день, предшествующий 1 февраля.

2

Другие решения

если вы установите день 0 вернется последний день месяца — 1

<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
?>
2

echo date("Y-m-d H:i:s", mktime(0, 0, 0, 2, 28, 2014)); //You can't show 29 in feb 2014

ВЫХОД: 2014-02-28 00:00:00

0
По вопросам рекламы [email protected]