将日期格式更改为本地语言
change date format to local language
我想将英文日期格式 ("Monday, 04 July 2020") 更改为印度尼西亚语 (Senin, 04 Juli 2020)。
我改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");
}
这是我的 blade
{{ $event->dateFormat() }}
但结果还是一样"Monday, 04 July 2020"
有人告诉我我错过了什么吗?
设置/app/config/app中的语言。php
'timezone' => 'Asia/Jakarta',
'locale' => 'id',
'faker_locale' => 'id_ID',
// App\Providers\AppServiceProvider
public function boot()
{
config(['app.locale' => 'id']);
Carbon::setLocale('id');
date_default_timezone_set('Asia/Jakarta');
}
因为您正在使用 formatLocalized()
,您需要像这样调用 php 的 setlocale()
public 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()
否则将不起作用
已解决
使用这个库
https://github.com/jenssegers/date
这个日期库扩展了 Carbon 的多语言支持。 format、diffForHumans、parse、createFromFormat 和新时间跨度等方法现在将根据您的语言环境进行翻译。
我想将英文日期格式 ("Monday, 04 July 2020") 更改为印度尼西亚语 (Senin, 04 Juli 2020)。 我改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");
}
这是我的 blade
{{ $event->dateFormat() }}
但结果还是一样"Monday, 04 July 2020"
有人告诉我我错过了什么吗?
设置/app/config/app中的语言。php
'timezone' => 'Asia/Jakarta',
'locale' => 'id',
'faker_locale' => 'id_ID',
// App\Providers\AppServiceProvider
public function boot()
{
config(['app.locale' => 'id']);
Carbon::setLocale('id');
date_default_timezone_set('Asia/Jakarta');
}
因为您正在使用 formatLocalized()
,您需要像这样调用 php 的 setlocale()
public 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()
否则将不起作用
已解决 使用这个库 https://github.com/jenssegers/date
这个日期库扩展了 Carbon 的多语言支持。 format、diffForHumans、parse、createFromFormat 和新时间跨度等方法现在将根据您的语言环境进行翻译。