如何在 CakePHP 4.x 上更改 FormHelper->dateTime 中的 dateFormat 和 timeFormat?

问题描述

这是我位于模板中的代码。 dateTime 控制其显示 dateFormat 'M-D-Y' 和 timeFormat '12' (AM/PM)。我需要将其更改为 dateFormat 'D-M-Y' 和 timeFormat '24'。

我在 4.x搜索了选项,但找不到任何有用的信息。在旧版本(2.x3.9)中,我可以使用

FormHelper::dateTime($fieldName,$dateFormat = 'DMY',$timeFormat = '12',$attributes = array())

但现在是

Cake\View\Helper\FormHelper::dateTime($fieldName,$options = [])

我尝试在选项数组中使用 'dateFormat' 和 'timeFormat',但没有成功。

<?= $this->Form->dateTime('from',['default' => true]); ?>
<?= $this->Form->dateTime('from','DMY','24',['default' => true]); ?> //not working
<?= $this->Form->dateTime('from',['default' => true,'dateFormat' => 'DMY','timeFormat' => 24]); ?> //doesn't modify dateFormat or timeFormat
<?= $this->Form->dateTime('from','date_format' => 'DMY','time_format' => 24]); ?> //doesn't modify dateFormat or timeFormat

这是app.PHP的配置

'defaultLocale' => env('APP_DEFAULT_LOCALE','es_AR'),'defaultTimezone' => env('APP_DEFAULT_TIMEZONE','America/Argentina/Buenos_Aires'),

解决方法

FormHelper::dateTime() 创建类型为 datetime-local 的输入元素,您无法控制这些输入类型的显示格式(如果浏览器首先支持),这是由浏览器和取决于用户的浏览器/操作系统区域设置。

如果您需要更多地控制显示格式,请改用 text 输入,并使用基于 JavaScript 的日期时间选择器来配置显示格式。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...