FormHelper->date() 的 CakePHP 4 日期格式如何更改为英国格式

CakePHP 4 Date format for FormHelper->date() how to change to UK format

我在模板中有以下代码:

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

这显示了一个可爱的新动态日期选择器,但采用美国格式 "mm/dd/yyyy"。我要的是"dd/mm/YYYY"

在 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

如何更改格式?我在文档或网上找不到任何内容。

你不能改变它,至少没有可靠的,跨 browser/device 兼容的方式,控件由浏览器呈现,目前的情况是浏览器使用浏览器当前的语言环境运行格式化控件。

如果您想要可靠的东西,则必须使用自定义 JavaScript 日期选择器。如果您想走在边缘,请查看 web components.

另见 Is there any way to change input type="date" format?