Как получить немецкое название дня от даты Carbon? - PullRequest
0 голосов
/ 29 апреля 2019

Немецкий локальный установлен на моем сервере, я проверил с 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'));

но это все еще "понедельник" вместо "Montag".

Что мне не хватает?

1 Ответ

1 голос
/ 29 апреля 2019

Если вы используете 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

ссылка на документ

...