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

问题描述 投票:0回答:1

我正在从日期为荷兰语的外部网站抓取数据: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"

我也尝试将语言环境设置为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,具有相同的排序设置。

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

laravel php-carbon setlocale
1个回答
0
投票

Carbon是本机PHP日期时间功能之上的一个层,它不支持本地化解析,只能输出本地化。您需要编写自己的翻译器,或者在解析之前使用像date by jenssegers这样的库来支持翻译:

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

$date = Date::createFromFormat('l d F Y', 'zaterdag 21 maart 2015');
© www.soinside.com 2019 - 2024. All rights reserved.