【问题标题】:Localize Date using Carbon in .blade template在 .blade 模板中使用 Carbon 本地化日期
【发布时间】: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
  • @AlexeyMezenin 是.blade 模板的示例吗?不适用于控制器...
  • @КамиловТимур 您可以在应用程序的任何位置执行此操作,但最好在中间件或控制器中设置区域设置,然后在刀片模板中使用 toFormattedDateString()
  • @AlexeyMezenin 你能告诉我怎么做吗? Cz 我尝试将这些行添加到 Controller,但它似乎不起作用。

标签: php laravel datetime blade php-carbon


【解决方案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()}}

【讨论】:

    猜你喜欢
    • 2013-08-15
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 2016-02-28
    • 2017-01-23
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    相关资源
    最近更新 更多