无法找到两位数的月份Laravel中缺少数据

时间:2017-07-03 08:14:46

标签: php laravel laravel-5.4 php-carbon

我有一张桌子,我通过datepicker以日期格式存储数据。在存储日期时我正在做这样的事情:

$data['schedule'] = Carbon::parse($request->schedule)->toDateTimeString();

然后在模型中我定义如下:

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

现在,在检索日期时我正在使用diffForHumans()这样的日期:

$event->schedule = $event->schedule->diffForHumans();

但它会抛出这样的错误:

  

找不到两位数的月份。数据缺失

我检查了mySQL数据库的格式,我的日期是这样的:

2017-07-02 14:38:23

修改

以前我在表格中存储日期时遇到问题,请参阅How to format date receiving through Vuejs Datepicker in laravel了解详细说明。它抛出错误:

  

日期时间格式无效:1292日期时间值不正确:'2017-05-04T18:30:00.000Z'代表第1行的“时间表”

所以我选择在将Carbon::parse存储到数据库中时使用它。

如何解决这个问题,帮助我。

感谢。

2 个答案:

答案 0 :(得分:3)

尝试使用模型中的存取方法。

public function getScheduleAttribute($value)
{
    return Carbon::parse($value)->diffForHumans();
}

并以

的形式访问该属性
$event->schedule;

答案 1 :(得分:2)

尝试设置日期时间格式('Y-m-d H:i:s')

并运行