PHP DateTime принимает недопустимую дату

У меня проблемы с использованием класса PHP DateTime , а точнее DateTime :: createFromFormat () .

Я получаю дату из строки, затем пытаюсь создать экземпляр объекта DateTime, используя DateTime :: createFromFormat () . Но когда я даю этой функции дату, которая не может существовать, она все еще работает, возвращая мне действительный объект DateTime с действительной датой , которая не является той датой, которую я ему дал .

Пример кода:

$badDate = '2010-13-03';
$date = DateTime::createFromFormat('Y-m-d', $badDate);

var_dump($date);

/*
object(DateTime)#284 (3) {
["date"]=>
string(19) "2011-01-03 10:01:20"
["timezone_type"]=>
int(3)
["timezone"]=>
string(13) "Europe/Berlin"
}
*/

Есть идеи? Мне действительно нужен способ проверить действительность даты.

Спасибо.

Изменить:

Я только что нашел, почему, см. Мой ответ.

11
задан Clement Herreman 4 April 2011 в 08:34
поделиться