Я импортирую даты из CSV, для которого требуется, чтобы формат был d / m / Y, например: 20/4 / 1999.
Как я могу проверить, что пользователи вводят его правильно, а не m / d /Да, например: 4/20 / 1999.
Я пытался использовать следующее, но в обоих случаях он возвращает false
function validateDateFormats(string $date, string $format='d/m/Y')
{
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
var_dump(validateDateFormats('20/4/1999'));
var_dump(validateDateFormats('4/20/1999'));
Вышеприведенная функция возвращает true для «04/20/1999».Но есть ли способ сделать так, чтобы он возвращал истину и для «20.04.1999»?
Эти даты должны возвращать истину: 20/4/1999, 20/04/1999
Эти даты должны возвращать ложь: 20.04.1999, 4/20/1991
Спасибо