【问题标题】:Laravel 5: jenssegers/laravel-date doesn't show correct translation. How do I use Laravel Date correctly?Laravel 5: jenssegers/laravel-date 没有显示正确的翻译。如何正确使用 Laravel Date?
【发布时间】:2015-04-15 19:56:23
【问题描述】:

我有一个简单的 L5 应用程序,我必须用不同的语言输出一些日期,因此我使用的是jenssegers/laravel-date package

但是,如果我尝试对存储在数据库中的数据使用 jenssegers 新包,我没有得到翻译,请参见此处:

index.blade.php

@extends('app')

@section('content')

use Jenssegers\Date\Date;
// This returns 'vor 0 Sekunden' in German, which I do want.
echo Date::now()->diffForHumans();

echo '<br/>';

// This returns '1 day ago'. It is in English, but I need it in German.
echo $orders->find(1)->created_at->diffForHumans();

@endsection

不胜感激。

【问题讨论】:

    标签: php html datetime laravel jenssegers-mongodb


    【解决方案1】:

    发生这种情况的原因是$orders-&gt;find(1)-&gt;created_at 返回一个Carbon 实例,而不是Date 实例。

    利用Date 的一种方法是这样做:

    echo Date::instance($orders->find(1)->created_at)->diffForHumans();
    

    您可以使用 acessor 来始终返回 Date 对象,如下所示:

    在您的订单模型中:

    public function getCreatedAtAttribute($value)
    {
        return Date::instance($value);
    }
    

    【讨论】:

    • 是的,我知道。我这样做了,这就是“echo Date::now()->diffForHumans();”的原因返回正确翻译的德语字符串。然而另一个没有。
    猜你喜欢
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 2017-09-11
    • 2019-10-05
    • 2018-08-17
    相关资源
    最近更新 更多