首页 > 解决方案 > 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 年......为什么?如何解决这个问题?

标签: phplaraveldatephp-carbon

解决方案


我不确定 Laravel,但标准的 DateTime 解析器不理解 format Saturday, 11 Jan, 2020。您必须明确告诉解析器如何解析字符串。就像是:

$date = DateTime::createFromFormat('l, j M, Y', $data['date'])->format('Y-m-d');

推荐阅读