Laravel - 德语中的diffForHumans

时间:2017-04-02 12:41:55

标签: php laravel datetime laravel-5 php-carbon

我试图在laravel 5.2中使用德语中的Carbon created_at来显示diffForHumans()属性。

created_at存储在数据库中:2017-03-29 17:31:52

模型

protected $dates = ['created_at', 'updated_at'];

public static function getCreatedAtAttribute($value)
{
    Carbon::setLocale('de');
    return Carbon::parse($value, 'Europe/Berlin')->diffForHumans();
}

dd($value);返回"2017-03-29 17:31:52"

视图

@foreach($posts as $post)
    <small>{{ $post->getCreatedAtAttribute($post->created_at) }}</small>
@endforeach

错误

  

DateTime :: __ construct():无法解析时间字符串(vor 3 Tagen)at   位置0(v):在数据库中找不到时区


我会非常感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

对于德语翻译,我在AppServiceProvider中使用了这个自定义:

    html, body{
      height: 100%;
    }
    .wrapper {
      height: 200px;
    }
    .left {
      background-color: grey;
      float: left;
      height: 100%;
    }

    .right {
      height: auto;
      float: left;
      height: 100%;
    }

    .top {
      background-color: lightblue;
      height: 166px;
      
    }

    .bottom {
      background-color: lightgreen;
      height: calc(100% - 166px);
    }

使用此设置,数据会显示: <div class="wrapper"> <div class="left"> left </div> <div class="right"> <div class="top"> top right<br/> top right<br/> top right<br/> top right<br/> top right<br/> top right<br/>top right<br/>top right<br/>top right<br/> </div> <div class="bottom"> bottom right </div> </div> <div>而不是class AppServiceProvider extends ServiceProvider { public function boot() { // Localization Carbon \Carbon\Carbon::setLocale(config('app.locale')); } }