Laravel 5.2变异日期

时间:2016-10-07 14:34:21

标签: php laravel momentjs datetimepicker php-carbon

我最近实现了一个bootstrap-datetimepicker.js,它基于moment.js来获取一些视觉效果。在datetime小部件之前,我只有一个带日期和时间的输入字段。 现在我面临一些问题,Carbon和Monents.js之间存在一种日期时间格式的冲突。

这是我的输入字段:

<div class="form-group">
          <div class="col-sm-4">
            {!! Form::label('published_at', 'Veröffentlichungsdatum') !!}
          </div>
          <div class="col-sm-8">
            {!! Form::input('datetime','published_at', null, ['class' => 'form-control datetimepicker']) !!}
          </div>
        </div>

当我保存一个artcile时,抛出了这个异常:

"InvalidArgumentException in Carbon.php line 425:
Unexpected data found.
Unexpected data found.
Unexpected data found.
Trailing data"

不使用BS datetimepicker,我的日期时间如下所示:

2016-10-07 16:32

我在My Model中使用它来正确格式化它:

public function setPublishedAtAttribute($date) {
  $this->attributes['published_at'] = Carbon::createFromFormat('Y-m-d H:i', $date);
}

但是,使用BS datetimepicker,我的日期时间如下所示:

2016/10/25 21:35

我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

我总是这样做,希望有所帮助:

/**
 * Define how the date attribute gets saved to the database
 * @param $date
 */
public function setPublishedAtAttribute($date)
{
    $this->attributes['start_date'] = Carbon::createFromFormat('Y-m-d H:i', $date)->toDateTimeString();
}

请注意->toDateTimeString()