Мне нужно создать одну дату, используя только month
и year
.
Я использую этот код:
$mData="1 2003";
$mDate=DateTime::createFromFormat("n Y", $mData);
var_dump($mDate);
Вывод в этом случае в порядке:
object(DateTime)#1 (3) {
["date"]=>
string(26) "2003-01-10 15:43:33.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(13) "Europe/Berlin"
}
Теперь я пытаюсь с одним месяцем, который не существует:
$mData="21 2003";
$mDate=\DateTime::createFromFormat("n Y", $mData);
var_dump($mDate);
Выходными данными является одна дата сентября 2004 года!:
object(DateTime)#1 (3) {
["date"]=>
string(26) "2004-09-10 15:45:26.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(13) "Europe/Berlin"
}
Почему в этом случае $mDate
не false
o нет ли ошибок?
Невозможно создать один действительный объект DateTime
таким образом, контролируя даты ошибок.
В моем сценарии я не могу изменить формат "n Y"
на другой формат, , тогда мне нужно добиться этого контроля ошибок? Это возможно?