翻译日期Laravel使用Carbon

时间:2018-01-24 22:07:39

标签: php laravel date php-carbon

希望你没事! 我有一个问题,而且我在Laravel应用程序中遇到了很多问题,无论我在哪里使用Carbon记录日期,因为我没有使用<\ n strong> created_at 用于调用日期,我使用了不同的行,在这种情况下,该行调用 event_date_start 在我的控制器中,当创建新事件时,日期将以此格式保存 m / d / Y h:ia 所以,请求,它是这样的: $ event-&gt; event_date_start = Carbon :: parse($ request-&gt; event_date_start) - &gt;格式(&#39; m / d / Y h:我是&#39;);

一切都还行,直到这一步,问题是当我在刀片上调用该行时,&#39;因为给我一些英文记录,例如&#34; 1月&#34;但我需要&#34; Enero&#34;

我创建了一个开关,并且还使用了GitHub中的一个包,并且我创建了一个特性,但所有这些东西都适用于行&#34;创建:at&#34;和&#34; updated_at&#34;

如果有人可以帮助我,我会非常感激!

2 个答案:

答案 0 :(得分:0)

您可以通过添加以下行来告诉Carbon使用某种语言:

Carbon::setLocale('es');

请参阅:http://carbon.nesbot.com/docs/(本地化部分)

答案 1 :(得分:0)

您是否尝试将event_date_start置于模型的$dates属性中?如果没有,您可以通过在模型中创建名为protected的{​​{1}}属性来实现此目的。

$dates

默认情况下,Laravel会在 Carbon 实例中转换模型的protected $dates = ['event_date_start']; created_at属性,因此我认为,当Laravel转换它时,它会使用配置了解您应用中的日期(例如,假设您已将Laravel应用配置为以西班牙语显示日期)。

通过我的建议,我希望并且我相信Laravel会使用属性updated_at执行相同。此外,通过这样做,您不必将日期解析为 Carbon 实例,以将其保存在模型中。

我相信这样做会。

event_date_start

如果您对格式有任何限制,那么您可以在模型中添加另一个名为$event->event_date_start = $request->event_date_start; 的属性。

dateFormat

希望它会对你有所帮助。

参考:https://laravel.com/docs/5.5/eloquent-mutators#date-mutators