CakePHP 3.5.3设置默认日期(时间)

时间:2017-10-20 13:50:31

标签: date datetime cakephp datepicker datetimepicker

我想设置CakePHP的默认日期(时间),这样我就可以在我的视图中创建一个日期控件/日期选择器,它会自动显示所需的格式'dd-MM-yyyy'。

不知何故显示的格式是'yyyy-MM-dd'。

在我的视图文件中,我通过以下方式创建了日期控件/日期选择器:

echo $this->Form->input('startdate', ['type' => 'date', 'label' => 'Van', 'monthNames' => false, 'dateFormat' =>  'dd-MM-yyyy', 'minYear' => '2017']);

我在config / app.php&中配置了defaultLocale。配置/ app.default.php。

//
'defaultLocale' => env('APP_DEFAULT_LOCALE', 'nl_NL'),
//

在config / bootstrap.php中我设置了defaultLocale。

ini_set('intl.default_locale', Configure::read('App.defaultLocale'));

除此之外,我在config / bootstrap.php中设置了时区。

date_default_timezone_set('Europe/Amsterdam');

在同一文件中启用默认语言环境格式解析也没有任何效果。

Type::build('time')
 ->useImmutable();
Type::build('date')
 ->useLocaleParser()
 ->setLocaleFormat('dd-MM-yyyy');
Type::build('datetime')
 ->useLocaleParser()
 ->setLocaleFormat('dd-MM-yyyy');

在运行时都没有改变它:

Time::setDefaultLocale('nl-NL'); // For any mutable DateTime
FrozenTime::setDefaultLocale('nl-NL'); // For any immutable DateTime
Date::setDefaultLocale('nl-NL'); // For any mutable Date
FrozenDate::setDefaultLocale('nl-NL'); // For any immutable Date

Time::setToStringFormat('dd-MM-yyyy HH:mm:ss');
FrozenTime::setToStringFormat('dd-MM-yyyy');
Date::setToStringFormat('dd-MM-yyyy');
FrozenDate::setToStringFormat('dd-MM-yyyy');

0 个答案:

没有答案