我正在从日期为荷兰语的外部站点抓取数据: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"
我还尝试将语言环境设置为nl
或nl_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。
我在这里想念什么...?
答案 0 :(得分:0)
Carbon是本机PHP datetime功能之上的一层,该功能不支持本地化解析,只能将输出本地化。您可能需要编写自己的翻译器,或使用date by jenssegers之类的支持解析的库,然后再进行解析:
诸如parse和createFromFormat之类的方法也支持“反向翻译”。当使用翻译后的输入调用这些方法时,它将尝试将其翻译为英语,然后再将其传递给DateTime:
$date = Date::createFromFormat('l d F Y', 'zaterdag 21 maart 2015');