Я использую PHP 7.2
и пытаюсь создать дату из строки следующим образом:
$dateString = '2018-12-31T01:01:01+00:00';
$converted = DateTime::createFromFormat(DATE_ATOM), $dateString);
Приведенный выше фрагмент кода работает нормально и возвращает ожидаемый результат.
Проблема возникает, когда я меняю день и месяц в строке даты, приведенной выше, следующим образом:
$dateString = '2018-31-12T01:01:01+00:00';
$converted = DateTime::createFromFormat(DATE_ATOM), $dateString);
Я ожидал, что второй пример вернет false
, но вместо этого яполучить фактическое время, 2020-07-12 01:01:01.000000
.
Итак, я не могу сказать, была ли вторая дата правильной или нет, потому что система приняла это, и я буду сохранять в своей базе данных то, чего не должен был делать.
Может ли это быть ошибкой в PHP 7.2
?