Carbon setLocale无法正常工作Laravel

时间:2018-08-02 08:58:29

标签: php laravel php-carbon

我已经阅读了一些有关设置语言环境的stackoverflows。我在终端中测试了语言环境-a,以查看我的语言环境是否在那里。在appServiceProvider中添加了以下代码规则:

public function boot()
{
    Carbon::setLocale($this->app->getLocale());
}

$ this-> app-> getLocale()返回“ nl”

有人知道为什么Carbon仍然显示星期日而不是Zondag吗?

3 个答案:

答案 0 :(得分:3)

您可能希望在应用程序开始的某个地方使用setLocale(LC_TIME, $this->app->getLocale())

然后,如果您希望具有本地名称的本地化日期格式,请使用formatLocalized函数

Carbon::now()->formatLocalized('%d %B %Y');

有关格式化参数,请参见http://php.net/manual/en/function.strftime.php

答案 1 :(得分:1)

使用全局本地化格式翻译碳排放日期

在AppServiceProvider中

public function register()
{

    // For example im gonna locale all dates to Indonesian (ID)
    config(['app.locale' => 'id']);
    \Carbon\Carbon::setLocale('id');
}

然后使语言环境输出执行类似的操作

// Without locale, the output gonna be like this    
Carbon\Carbon::parse('2019-03-01')->format('d F Y'); //Output: "01 March 2019"

// With locale
Carbon\Carbon::parse('2019-03-01')->translatedFormat('d F Y'); //Output: "01 Maret 2019"

有关转换本地化日期的更多信息,请参见以下链接 https://carbon.nesbot.com/docs/#api-localization

答案 2 :(得分:-1)

尝试:setLocale(LC_TIME,app()-> getLocale());