【问题标题】:Translate dates Laravel using Carbon使用 Carbon 翻译日期 Laravel
【发布时间】:2018-07-04 02:08:27
【问题描述】:

希望你没事! 我有一个问题,我有很多问题,在我的 Laravel 应用程序中,我在任何地方都使用 Carbon 作为记录日期,因为我没有使用 created_at 调用日期,我使用不同的行,在这种情况下,该行调用 event_date_start 在我的控制器中,当一个新事件已创建,日期将以这种格式保存 m/d/Y h:ia 所以,请求是这样的: $event->event_date_start = Carbon::parse($request->event_date_start)->format('m/d/Y h:i a');

在这一步之前一切正常,问题是当我在刀片上调用该行时,因为给我英文记录,比如“January”,但我需要“Enero”

我创建了一个开关,还使用了来自 GitHub 的包,还创建了一个 trait,但所有这些都只适用于“created:at”和“updated_at”行

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

【问题讨论】:

  • 究竟有哪些东西适用于created_at 而不适用于event_date_start
  • @alexeyMezenin with created_at 用西班牙语显示日期,但用 event_date_start 它不起作用,并用英语显示记录

标签: php laravel date php-carbon


【解决方案1】:

你可以通过添加这一行来告诉 Carbon 使用某种语言:

Carbon::setLocale('es');

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

【讨论】:

  • 我会试试这个,但我不知道这条线在哪里
【解决方案2】:

您是否尝试将event_date_start 放入模型的$dates 属性中?如果没有,您可以通过在模型中创建一个名为 $datesprotected 属性来实现。

protected $dates = ['event_date_start'];

默认情况下,Laravel 在 Carbon 实例中转换模型的 created_atupdated_at 属性,所以我认为,当 Laravel 转换它时,它会使用 configs 用于应用程序中的日期(例如,假设您已将 Laravel 应用程序配置为以 西班牙语 显示日期)。

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

我相信这样做会成功。

$event->event_date_start = $request->event_date_start;

如果您对格式有任何限制,您可以在模型中添加另一个名为 dateFormat 的属性。

protected $dateFormat = 'm/d/Y h:i a';

希望对你有帮助。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 2019-11-06
    • 2016-02-28
    • 2016-12-01
    • 1970-01-01
    • 2016-04-30
    • 2018-03-31
    相关资源
    最近更新 更多