php - Laravel Carbon 格式错误的日期
问题描述
我正在使用 Laravel 和 Carbon 来格式化日期。
我有这个代码:
print_r($data['date']); //Saturday, 11 Jan, 2020
$data['date'] = Carbon::parse($data['date'])->format('Y-m-d');
dd($data['date']);
但输出是:
2020 年 1 月 11 日星期六
“2019-01-12”
如您所见,2020 年转换为 2019 年......为什么?如何解决这个问题?
解决方案
我不确定 Laravel,但标准的 DateTime 解析器不理解 format Saturday, 11 Jan, 2020
。您必须明确告诉解析器如何解析字符串。就像是:
$date = DateTime::createFromFormat('l, j M, Y', $data['date'])->format('Y-m-d');
推荐阅读
- r - 使用 R 中的 lsmeans/emmeans 计算成对比较的置信区间
- c# - C#关于在函数中更改字符串的问题
- r - 逆变换柯西分布
- sql - 获取 Apache Calcite 生成的关系代数
- tensorflow - 是否有可能与 Eager-Graph 兼容的相同代码解决方案?
- spring - 可分页的 REST API
- c# - Unity 2D 以特定角度启动游戏对象而不影响速度
- php - $_GET throws 403
- filenet-p8 - FileNet 社交协作 - 按评论搜索
- amazon-web-services - AWS Config Error due to missing region in function call