您现在的位置是:首页 > 经验记录>Laravel日记>laravel7之后,日期序列化Carbon,保留以前YmdHis格式的办法 网站首页 Laravel日记
laravel7之后,日期序列化Carbon,保留以前YmdHis格式的办法
日期序列化
Laravel 7 在 Eloquent 模型类中调用 toArray 和 toJson 方法时,使用了一个新的日期序列化格式。框架现在使用 Carbon 的 toJson 方法为格式化日期,该方法会生成一个兼容 ISO-8601 的、包含时区信息和小数秒的日期格式。此外,这个调整可以为客户端日期解析库提供更好地支持与集成。
在此之前,日期会被序列化为形如 2019-12-02 20:01:00 这种格式,而现在序列化之后的日期格式是这样的:2019-12-02T20:01:00.283041Z。
如果你想要保持之前的日期格式方式,可以在模型类中重写 serializeDate 方法:
/**
* Prepare a date for array / JSON serialization.
*
* @param \DateTimeInterface $date
* @return string
*/
protected function serializeDate(DateTimeInterface $date)
{ return $date->format('Y-m-d H:i:s');
//或者↓
//return $date->format($this->dateFormat ?: 'Y-m-d H:i:s');} 如果你觉得在每个model中,都添加该方法麻烦,或是整体业务不需要新的时间格式, 可新建一个BaseModel,该Model 继承Illuminate\Database\Eloquent\Model,在BaseModel中完成该方法,其他Model继承至此就行. 或者创建trait类完成该方法,供其他model use即可
随机推荐
- X-editable使用文档
- Mysql检查链接数,状态,最大链接数等
- Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)
- 阿里云 Failed to download metadata for repo ‘AppStream‘(centos8放弃维护)
- Ubuntu18.04 lnmp nginx1.14 PHP7.2 MySQL5.7 安装 配置
- centos7下配置好网络之后ssh登录失败怎么办
- Mysql允许远程链接(直接使用navicat走非ssh通道连接)的方法
- php导出数据到excel,防止身份证等数字字符格式变成科学计数的方法
- 使用ceph-deploy 2.0.0 部署ceph 12.2.5集群
- mqtt服务器(emqx)如何在页面使用webSocket连接?(可带用户名密码认证)
文章评论
未开放






