在 .blade 模板中使用 Carbon 本地化日期
Posted
技术标签:
【中文标题】在 .blade 模板中使用 Carbon 本地化日期【英文标题】:Localize Date using Carbon in .blade template 【发布时间】:2018-08-18 17:29:46 【问题描述】:我在.blade
模板中使用 Carbon 格式化了日期,如下所示:
Carbon\Carbon::parse($event['date_from'])->toFormattedDateString()
它会输出:
Mar 20, 2018
那么,如何将日期本地化为例如俄语格式:
【问题讨论】:
你可以使用 Carbon::setLocale('ru');欲了解更多信息,请访问:carbon.nesbot.com/docs ***.com/a/47972040/1227923 @AlexeyMezenin 是.blade
模板的示例吗?不适用于控制器...
@КамиловТимур 您可以在应用程序的任何位置执行此操作,但最好在中间件或控制器中设置区域设置,然后在刀片模板中使用 toFormattedDateString()
。
@AlexeyMezenin 你能告诉我怎么做吗? Cz 我尝试将这些行添加到 Controller,但它似乎不起作用。
【参考方案1】:
你可以使用Carbon::setLocale('ru');
& formatLocalized('%d %M');
欲了解更多信息,请访问:Carbon localization
【讨论】:
我需要在.blade
中本地化日期。有可能吗?
在刀片中编写逻辑不是一个好的编码,所以我建议您在控制器中编写本地化逻辑,然后将其传递给刀片文件【参考方案2】:
对于 Laravel 刀片模板,我在我的模型上设置了一个新功能:
public function localizedDiffForHumans()
Carbon::setLocale(App::getLocale());
return $this->created_at->diffForHumans();
然后只需替换模板中的调用:
$message->localizedDiffForHumans()
【讨论】:
以上是关于在 .blade 模板中使用 Carbon 本地化日期的主要内容,如果未能解决你的问题,请参考以下文章