php – 在Laravel中为日期配置荷兰语格式
在我的Laravel应用程序中想要以荷兰语格式显示日期.在我的config / app.php文件中,我设置了我的时区和语言环境:
'timezone' => 'Europe/Amsterdam','locale' => 'nl', 但是,如果我在我的刀片文件中打印日期,如下所示: strftime('%a %e %b',strtotime($day->date)) 它仍未以荷兰语格式显示.当我在相关控制器的构造函数中调用setlocale()方法时,它可以工作. setlocale(LC_TIME,'NL_nl'); 如何在全局设置或在我的配置中定义它? 解决方法
警告:
据我所知,你通过改变laravel框架的默认配置走错了方向.正如惯例所说,除非您的应用程序是针对特定国家/地区而不是针对整个世界,否则您不应更改/编辑默认值. Read more about not changing the default configurations(论坛帖子仅与时区相关,但适用于一般情况) 回答 你为什么不使用Carbon? 将时间存储为laravel将照常执行的操作,然后在刀片/控制器中更改时区和区域设置并显示它. 方法1: 这是你需要做的: 在控制器中导入Carbon命名空间 use CarbonCarbon; 然后在你的方法中: public function yourMethodName() { // replace getDateAndTimeValueFromDB() with whatever // you are using or whatever your logic is... $dt = getDateAndTimeValueFromDB(); Carbon::setLocale('nl'); $newDt = Carbon::parse($dt)->timezone('Europe/Amsterdam'); return view('path.to.your_view_file',compact('newDt')); } 然后在您的视图文件中,在您想要的任何位置添加以下内容. {{ $newDt }} 应该这样做. 方法2: 我不建议你使用这个 – 下面提到的方法 – 因为你将把刀片和php混合在一起,这是非常不推荐的,因为这将导致你的代码和你的应用程序设计不好,即使你会得到正确的输出. 您可以直接在刀片文件中使用Carbon实例. <?php CarbonCarbon::setLocale('nl'); $dt = getDateAndTimeValueFromDB(); $newDt = CarbonCarbon::parse($dt)->timezone('Europe/Amsterdam'); ?> 然后在文件中的任何位置回显转换日期. {{ $newDt }} 希望这可以帮助你.快乐的编码.干杯. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |