валидация — неверная дата возврата PHP Strtotime

Я ввожу эту дату:

$user_entered_date = '30 November, 2020';

когда я меняю формат даты с помощью этой команды

$new_user_entered_date = date( 'Y-m-d', strtotime($user_entered_date) );

тогда результат:

2018-11-30

Подскажите, каково решение этой проблемы или где я не прав.

-1

Решение

Ваша ошибка — запятая ‘,’ вы должны без нее вот так:

$user_entered_date = '30 November 2020';
4

Другие решения

Вам нужно использовать createFromFormat, если у вас нет контроля над форматом ввода.

$user_entered_date = DateTime::createFromFormat('d M, Y', '30 November, 2020');
$new_user_entered_date = date_format($user_entered_date, 'Y-m-d');

echo $new_user_entered_date;
2

Запятая игнорирует 2020 год и занимает только 30 ноября
Таким образом, дата, указанная в 2018 году, используется без ответа.

1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector