CakePHP 4 Формат даты для FormHelper-> date() как перейти в британский формат

У меня в шаблоне есть следующий код:

        <?= $this->Form->date('selected_date', ['required' => true]) ?>

Это показывает прекрасное новое динамическое средство выбора даты, но с американским форматом "мм / дд / гггг". Я хочу "дд / мм / ГГГГ"

В app.php я установил для APP_DEFAULT_LOCALE значение en-GB. В AppController.php я установил следующее:

I18n::setLocale('en-GB');   
Time::setDefaultLocale('en-GB'); // For any mutable DateTime
FrozenTime::setDefaultLocale('en-GB'); // For any immutable DateTime
Date::setDefaultLocale('en-GB'); // For any mutable Date
FrozenDate::setDefaultLocale('en-GB'); // For any immutable Date

Как мне изменить формат? Я ничего не могу найти в документации или в Интернете.

1 ответ

Решение

Вы не можете его изменить, по крайней мере, нет надежного, кроссбраузерного / совместимого с устройством способа, элемент управления отображается браузером, и текущее положение вещей таково, что браузеры используют локаль, в которой в настоящее время работает браузер, для форматирования элемента управления.

Если вам нужно что-то надежное, вам придется использовать собственный JavaScript datepicker. Если вы хотите идти на грани, обратите внимание на веб-компоненты.

См. Также Есть ли способ изменить формат input type="date"?.

Другие вопросы по тегам