加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在CakePHP 3中保存之前格式化日期字段?

发布时间:2020-12-13 17:48:26 所属栏目:PHP教程 来源:网络整理
导读:我在AppController中使用了这个: Time::setToStringFormat('dd/MM/YYYY'); 我的表单中的日期字段是输入类型“文本”,以允许我的用户写入类似于2015年12月31日的内容. 但是当我尝试保存(MySQL日期)时,我得到了一些时间类错误,因为在表中,值现在是00-00-0000
我在AppController中使用了这个:

Time::setToStringFormat('dd/MM/YYYY');

我的表单中的日期字段是输入类型“文本”,以允许我的用户写入类似于2015年12月31日的内容.

但是当我尝试保存(MySQL日期)时,我得到了一些时间类错误,因为在表中,值现在是00-00-0000

Alunos Controller code

谢谢 !

解决方法

我的最终解决方案是在bootstrap:

date_default_timezone_set('America/Sao_Paulo');
setlocale(LC_ALL,'pt_BR','pt_BR.utf-8','portuguese');

Type::build('time')->useImmutable();
Type::build('date')->useImmutable()->useLocaleParser();
Type::build('datetime')->useImmutable()->useLocaleParser();
Type::build('timestamp')->useImmutable();

CakeI18nTime::setToStringFormat('dd/MM/yyyy HH:mm:ss');
CakeI18nDate::setToStringFormat('dd/MM/yyyy');
CakeI18nFrozenTime::setToStringFormat('dd/MM/yyyy HH:mm:ss');
CakeI18nFrozenDate::setToStringFormat('dd/MM/yyyy');

CakeI18nI18n::locale('pt-BR'); //new !

Type::build('decimal')->useLocaleParser();
Type::build('float')->useLocaleParser();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读