我正在使用 Carbon,但我不知道如何将输出更改为德国时间格式。
您应该在 Controller 中还是在视图中进行更改?
现在我想要 DayName 作为 Germanstring。这是我的默认输出:
{{ $game->start_at }}
当我改变观点时
{{ $game->start_at->format('l') }}
我得到了 DayName 但不是德语。
我正在使用 Carbon,但我不知道如何将输出更改为德国时间格式。
您应该在 Controller 中还是在视图中进行更改?
现在我想要 DayName 作为 Germanstring。这是我的默认输出:
{{ $game->start_at }}
当我改变观点时
{{ $game->start_at->format('l') }}
我得到了 DayName 但不是德语。
也许有人正在寻找将碳日期转换为可读的德语月份:
if ( ! function_exists( 'convert_to_german_month' ) ) {
/**
* Converts given Carbon date into German Month
* Output example: "Januar"
*
* @param \Carbon\Carbon $date
* @return string
*/
function convert_to_german_month( \Carbon\Carbon $date ) : string {
$month_mapping = [
'January' => 'Januar',
'February' => 'Februar',
'March' => 'März',
'April' => 'April',
'May' => 'Mai',
'June' => 'Juni',
'July' => 'Juli',
'August' => 'August',
'September' => 'September',
'October' => 'Oktober',
'November' => 'November',
'December' => 'Dezember'
];
return $month_mapping[strftime('%B', strtotime($date))];
}
}
我想你的答案就在这里。请记住在遇到麻烦时始终检查文档:D
http://carbon.nesbot.com/docs/#api-localization
setlocale(LC_TIME, 'German');
$dt = Carbon::now();
echo $dt->formatLocalized('%A %d %B %Y');
我发现了我的错误,我有
setlocale(LC_TIME, 'de_DE')
正确的语法是
setlocale(LC_TIME, 'German');
我把它放到 bootstrap/app.php 所以它工作了。