<?php
function createDateFromFormat($format, $time)
{
$result = \DateTimeImmutable::createFromFormat($format, $time);
if (!$result || \DateTimeImmutable::getLastErrors()['warning_count']) {
return false;
}
return $result;
}
var_dump(\DateTime::createFromFormat('Y-m-d', '2005-12-1'));
var_dump(\DateTime::createFromFormat('Y-m-d', '2005')); // should be false
var_dump(\DateTime::createFromFormat('Y-m-d', '0-0-0')); // should be false
var_dump(\DateTimeImmutable::createFromFormat('Y-m-d', '2005-12-1'));
var_dump(\DateTimeImmutable::createFromFormat('Y-m-d', '2005')); // should be false
var_dump(\DateTimeImmutable::createFromFormat('Y-m-d', '0-0-0')); // should be false
var_dump(get_class(createDateFromFormat('Y-m-d', '2005-12-1')));
var_dump(createDateFromFormat('Y-m-d', '2005')); // should be false
var_dump(createDateFromFormat('Y-m-d', '0-0-0')); // should be false