我最近实现了一个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
我不知道如何解决这个问题。
答案 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()