如何设置区域碳时间到德国


Laravel 5 - How to setlocale Carbon time to German

我正在使用Carbon,我不知道如何将输出更改为德国时间格式。

应该在控制器中还是在视图中进行更改?

现在我希望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中