如何从Carbon日期获取德国日名?

时间:2019-04-29 16:58:15

标签: php laravel locale php-carbon

我在服务器上安装了德语本地语言,我用locale -a检查了

enter image description here

这是我尝试过的:

setlocale(LC_ALL, 'de_DE') or die('Locale not installed');
dd($user->created_at->format('l'));

它显示“星期一”。但是,今天的德语单词应为“ Montag”。

我也尝试过

setlocale(LC_ALL, 'de_DE') or die('Locale not installed');
\Carbon\Carbon::setLocale('de_DE'); 
dd($user->created_at->format('l'));

,但仍然是“星期一”,而不是“蒙塔格”。

我想念什么?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Carbon 1,请使用以下内容

$newLocale = setlocale(LC_TIME, 'German');
$dt = Carbon::parse('1975-05-21 22:23:00.123456');
if ($newLocale === false) {
    echo '"German" locale is not installed on your machine, it may have a different name on your machine or you may need to install it.';
}
echo $dt->formatLocalized('%A %d %B %Y');          // Mittwoch 21 Mai 1975
setlocale(LC_TIME, 'English');
echo $dt->formatLocalized('%A %d %B %Y');          // Wednesday 21 May 1975
setlocale(LC_TIME, ''); // reset locale

doc link