date - Cakephp 3.2 更改默认日期格式

标签 date cakephp format date-formatting cakephp-3.2

我尝试将 CakePHP 3.2 的默认日期格式从 dd.mm.YYYY 设置为 YYYY-mm-dd,这样我就不必使用 $MyDatas->mydate->format('Y-m-d'),编辑数据时表单中更重要的是我将以 dd.mm.YYYY 格式设置日期(前 27.02.2016)。我需要 YYYY-mm-dd (2016-02-27)。

我寻找解决方案,但没有显示任何更改(在表单中或作为 View 的一部分:$MyDatas->mydate):

// in AppController

ini_set('intl.default_locale', 'pl_PL');

//and/or

use Cake\Database\Type;
Type::build('datetime')->useLocaleParser()->setLocaleFormat('YYYY-mm-dd');

//and/or

use Cake\I18n\I18n;
I18n::locale('pl_PL');

//and/or

use Cake\I18n\Time; 
Time::$defaultLocale = 'pl-PL'; //and or
Time::setToStringFormat('YYYY-mm-dd HH:mm');//and or
Type::build('datetime')->useLocaleParser(false);//and or

以上代码均无帮助。有谁知道如何更改日期格式?

最佳答案

我猜您已经升级到 CakePHP 3.2,否则您会在 config/bootstrap.php 文件中看到 DATE 有不同的类型,DATETIMETIME 类型列。

在 CakePHP 3.2 中,date 类型不再映射到 Cake\I18n\Time,而是映射到 \Cake\I18n\Date (或 \Cake\I18n\FrozenDate 指示使用不可变对象(immutable对象)时),并且需要单独配置,这就是更改 datetime 类型或 \Cake\I18n\Time 类配置不会影响您的 DATE 列。

要为后者配置格式,请使用 \Cake\I18n\Date 和/或 \Cake\I18n\FrozenDate 类和 date类型。在你的 Bootstrap 中,你可以做类似的事情

ini_set('intl.default_locale', 'pl_PL');

// ...

Cake\I18n\Date::setToStringFormat('yyyy-MM-dd');
Cake\I18n\FrozenDate::setToStringFormat('yyyy-MM-dd');

\Cake\Database\Type::build('date')
    ->useImmutable()
    ->useLocaleParser()
    ->setLocaleFormat('yyyy-MM-dd');

这将覆盖使用 pl_PL 语言环境时应用的默认值。请注意,您应该使用 yyyy 而不是 YYYY(因为后者定义了 week-numbering year )和 MM而不是 mm(后者定义分钟)。

参见 https://unicode-org.github.io/icu/userguide/format_parse/datetime/#datetime-format-syntax 用于 CakePHP 内部使用的 intl 格式化程序所使用的格式。

另请注意,还有 \Cake\I18n\Date::$wordFormat\Cake\I18n\Date:$niceFormat 您可能也想更改它们。

另见

关于date - Cakephp 3.2 更改默认日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35676227/

相关文章:

date - Golang 奇怪的格式日期

iphone - FMDB 如何在 Sqlite iPhone dev 上查询日期范围内的数据

excel - 如何将月份编号(即 "12")转换为 Excel 中的月份名称?

java - 检查日期是否存在于本周内

Android:如何将字符串转换为日期?

php - CakePHP ACL 困惑,如何将 ACL 应用于对象而不是操作?

fortran - 错误: Unexpected element '*' in format string at (1)

CakePHP3 : How can I do text searching using full-text indexes

php - 验证组合框 CakePHP

Java 输出文件格式