Php 拉维碳/日期更改区域设置不';不行?
试图以另一种语言提供网站中的所有日期。 但这没有任何改变 我在config/app.php文件中设置了'locale'=>'tr' My AppServiceProvider.php如下:Php 拉维碳/日期更改区域设置不';不行?,php,laravel,Php,Laravel,试图以另一种语言提供网站中的所有日期。 但这没有任何改变 我在config/app.php文件中设置了'locale'=>'tr' My AppServiceProvider.php如下: public function boot(\Illuminate\Contracts\View\Factory $factory) { $factory->composer('*', 'App\Http\Views\Composers\AuthenticatedComposer
public function boot(\Illuminate\Contracts\View\Factory $factory)
{
$factory->composer('*', 'App\Http\Views\Composers\AuthenticatedComposer');
Carbon::setLocale('tr');
}
我的资源文件如下:
public function toArray($request)
{
Carbon::setLocale('tr');
$user = Auth::user();
setlocale(LC_TIME, 'Turkish');
return [
"id" => $this->id,
"customer" => $this->customer,
"vehicle" => $this->vehicle,
"basket" => $this->basket,
"total" => $this->total,
"discount" => $this->discount,
"net_total" => $this->total-$this->discount,
"status" => $this->status,
"created_at" => Carbon::parse($this->created_at)->formatLocalized('%A %d %B %Y'),
"edit_allowed" => $user->power('process', 'edit'),
"delete_allowed" => $user->power('process', 'delete'),
"detail_allowed" => $user->power('process', 'detail')
];
}
我希望date能转换成土耳其语。
但它返回的英文日期是:“2020年9月6日星期日”
怎么了?我想应该是这样的语言代码:tr tr
除非是因为intl扩展不在服务器上。在这种情况下,请尝试安装“sudo apt get install php intl”我将更改为tr tr,响应不会再次更改。安装了php intl,我在模块中看到了它。(据我所知,如果未安装intl,它将返回空。但它返回英文)在这种情况下,om不确定:(注意,当您设置“Carbon::setLocale('tr');”并在以后的“created_at”=>Carbon::parse($this->created_at)->formatLocalized(“%A%d%B%Y”)中使用它时,它将不是相同的carbon实例。您应该在“create_at”行中添加设置的区域设置,以确保设置在相同的实例上。或者返回“carbon::setLocale('tr'),因此您使用已设置区域设置的carbon实例。
“created_at”=>carbon::setLocale('tr')->parse($this->created_at)->formatLocalized(“%A%d%B%Y”)
setLocale返回bool,因此无法调用parse()