Laravel Carbon 格式错误的日期

Laravel Carbon format wrong date

我正在使用 Laravel 和 Carbon 来格式化日期。

我有这个代码:

print_r($data['date']); //Saturday, 11 Jan, 2020
$data['date'] = Carbon::parse($data['date'])->format('Y-m-d');
dd($data['date']);

但输出是:

Saturday, 11 Jan, 2020

"2019-01-12"

如您所见,2020 年已转换为 2019 年...为什么?如何解决这个问题?

我不确定 Laravel,但标准 DateTime 解析器不理解格式 Saturday, 11 Jan, 2020。您必须明确告诉解析器如何解析字符串。类似于:

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