碳>找不到文字月份。 Carbon :: createFromFormat('j F Y','7 maart 2019')

时间:2019-03-09 15:48:05

标签: laravel php-carbon setlocale

我正在从日期为荷兰语的外部站点抓取数据:2019年7月7日。我试图将其转换为Carbon对象,但不知道如何。

$value = '7 maart 2019';
$carbon = Carbon::createFromFormat('j F Y', $value);

var_dump($carbon);
// "A textual month could not be found"

我还尝试将语言环境设置为nlnl_NL,但是没有运气。

use Carbon\Carbon;

$value = '7 maart 2019';
Carbon::setLocale('nl');
$carbon = Carbon::createFromFormat('j F Y', $value);

var_dump($carbon);
// "A textual month could not be found"

Carbon文档引用了DateTime::createFromFormat()文档。对于相同的设置,这将返回false。

我在这里想念什么...?

1 个答案:

答案 0 :(得分:0)

Carbon是本机PHP datetime功能之上的一层,该功能不支持本地化解析,只能将输出本地化。您可能需要编写自己的翻译器,或使用date by jenssegers之类的支持解析的库,然后再进行解析:

  

诸如parse和createFromFormat之类的方法也支持“反向翻译”。当使用翻译后的输入调用这些方法时,它将尝试将其翻译为英语,然后再将其传递给DateTime:

$date = Date::createFromFormat('l d F Y', 'zaterdag 21 maart 2015');