Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Heroku上生产的Laravel应用程序中日期的区域设置错误_Php_Laravel_Laravel Blade_Php Carbon - Fatal编程技术网

Php Heroku上生产的Laravel应用程序中日期的区域设置错误

Php Heroku上生产的Laravel应用程序中日期的区域设置错误,php,laravel,laravel-blade,php-carbon,Php,Laravel,Laravel Blade,Php Carbon,我在Heroku上托管的Laravel应用程序中的日期区域设置有问题 在blade文件中,我显示的日期值如下: {{ $user->dateBirth? Carbon\Carbon::parse($user->dateBirth)->formatLocalized('%d/%b/%Y') : ''}} 我已在AppServiceProvider中设置了区域设置: public function boot(Charts $charts){ Carbon::setLoc

我在Heroku上托管的Laravel应用程序中的日期区域设置有问题

在blade文件中,我显示的日期值如下:

{{ $user->dateBirth? Carbon\Carbon::parse($user->dateBirth)->formatLocalized('%d/%b/%Y') : ''}}
我已在AppServiceProvider中设置了区域设置:

public function boot(Charts $charts){
     Carbon::setLocale('it');
     setlocale(LC_TIME, 'it_IT', 'it', 'IT', 'Italian', 'it_IT.UTF-8');
}
我想在IT区域设置中显示月份,如23/Gen/2021,在我的本地主机上这很好,但在Heroku上的生产中显示的值是23/Jan/2021


如何解决此问题?

请尝试在
config/app.php
中更改以下变量,而不要这样做:

'timezone' => 'Europe/Rome',
'locale' => 'it',

这仅仅意味着Heroku没有在操作系统上安装
It
locale,因此
LC\u TIME
将不起作用,而且
formatLocalized
也不起作用。希望Carbon有自己的翻译版本,支持的格式比
formatLocalized
(实际上依赖于安装的操作系统区域设置)更多。请参见中的
->isoFormat()


我的建议是始终使用
->isoFormat()
,这样您的代码就可以在任何机器上工作,而无需额外安装/设置,并且这些代码可以自定义,这样您就可以在不影响其他机器的情况下更改碳翻译。

您是否尝试过在生产环境中清除缓存?是,我已经这样做了。我已经这样做了,但不起作用。这个解决方案有效。谢谢。请注意,P.K.Tharindu在Laravel中使用
'locale'=>'it'
而不是手动执行
Carbon::setLocale('it')
,如果您的站点只能使用意大利语,则仍然是正确的,否则您可以调用
Carbon\Carbon::parse($user->dateBirth)->locale('it')
以使用用户区域设置更改对象。对于时区,它不应该硬编码,而应该使用浏览器。
{{ $user->dateBirth ? Carbon\Carbon::parse($user->dateBirth)->isoFormat('DD/MMM/YYYY') : ''}}