将日期格式更改为本地语言

我想将英文日期格式(“2020 年 7 月 4 日,星期一”)更改为印度尼西亚(Senin,2020 年 7 月 4 日)。我更改 config/App.php


'locale' => 'id',

并向 Providers/AppServiceProvider.php 添加一些代码


   public function boot()

    {

        config(['app.locale' => 'id']);

        Carbon::setLocale('id');

        date_default_timezone_set('Asia/Jakarta');

    }

我的模特


 public function dateFormat()

    {

        return \Carbon\Carbon::parse($this->attributes['tanggal_acara'])

        ->formatLocalized("%A, %d %B %Y");

    }

这是我的刀片


{{ $event->dateFormat() }}

但结果仍然相同“2020 年 7 月 4 日,星期一”


有人告诉我我错过了什么吗?


Qyouu
浏览 65回答 3
3回答

Smart猫小萌

解决了使用这个库 https://github.com/jenssegers/date这个日期库扩展了 Carbon 的多语言支持。format、diffForHumans、parse、createFromFormat 和新时间跨度等方法现在将根据您的语言环境进行翻译。

米琪卡哇伊

因为你正在使用formatLocalized(),所以你需要setlocale()像这样调用 phppublic function boot(){    setlocale(LC_TIME, 'id_ID');    config(['app.locale' => 'id']);    Carbon::setLocale('id');    date_default_timezone_set('Asia/Jakarta');}同样根据 Sammitch 的评论,您需要确保在您的服务器上配置了语言环境(在 Linux 上,这可以使用locale -a控制台中的命令进行检查)setlocale()否则将无法工作

慕森王

在 /app/config/app.php 中设置语言'timezone' => 'Asia/Jakarta','locale' => 'id','faker_locale' => 'id_ID',// App\Providers\AppServiceProviderpublic function boot(){    config(['app.locale' => 'id']);    Carbon::setLocale('id');    date_default_timezone_set('Asia/Jakarta');}
打开App,查看更多内容
随时随地看视频慕课网APP