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
Где не то, что я здесь делаю?
Я не вижу проблемы. Это выглядит правильно для меня.
Вы запросили 0 февраля, то есть день, предшествующий 1 февраля.
если вы установите день 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);
?>
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