我正在从日期为荷兰语的外部网站抓取数据:7 maart 2019.我正在尝试将其转换为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,具有相同的排序设置。
我在这里想念的是什么......?
Carbon是本机PHP日期时间功能之上的一个层,它不支持本地化解析,只能输出本地化。您需要编写自己的翻译器,或者在解析之前使用像date by jenssegers这样的库来支持翻译:
诸如parse和createFromFormat之类的方法也支持“反向翻译”。使用已翻译的输入调用这些方法时,它会尝试将其转换为英语,然后再将其传递给DateTime:
$date = Date::createFromFormat('l d F Y', 'zaterdag 21 maart 2015');