Laravel 5 使用我得到的碳“;找不到文本月份";错误

Laravel 5 使用我得到的碳“;找不到文本月份";错误,laravel-5,php-carbon,Laravel 5,Php Carbon,在我的Laravel5.8应用程序中,我需要将日期转换为字符串格式,如 2019年5月2日到目前为止使用碳纤维的时间。我想: setlocale(LC_TIME, 'en'); $filter_check_in_datepicker_till = Carbon::createFromFormat( 'dd MMMM YYY', $filter_check_in_datepicker_till )->locale('en_EN');; 但有一个错误: “消息”:“发现意外数据。\n找不到文

在我的Laravel5.8应用程序中,我需要将日期转换为字符串格式,如
2019年5月2日
到目前为止使用碳纤维的时间。我想:

setlocale(LC_TIME, 'en');
$filter_check_in_datepicker_till = Carbon::createFromFormat( 'dd MMMM YYY', $filter_check_in_datepicker_till )->locale('en_EN');;
但有一个错误:

“消息”:“发现意外数据。\n找不到文本月\n数据丢失”

哪条路对

谢谢

说:

createFromFormat()主要是基本php函数DateTime::createFromFormat的包装器

文档中并不完全清楚,但这意味着传递给
createFromFormat()
的$format参数是
DateTime
格式,而不是Carbon格式。因此,您应该使用
d,M,Y
(检查以下选项),而不是
dd-MMMM-YYY

\Carbon\Carbon::createFromFormat('d,M,Y','022019年5月');
//返回2019-05-02 12:48:26
作为参考,您的Carbon格式中存在几个问题,因此即使
createFromFormat
使用Carbon格式字符串,您所拥有的也不会起作用。检查:

  • dd
    实际上是“简化的日期名称(从Su到Sa),可转换表”。你真的想要月的零填充日
    DD

  • 您使用的日期格式包含逗号,但您的格式字符串缺少该逗号

  • YYY
    实际上不是有效的碳格式字符串。您真的想要4位数年份的
    yyy