我正在尝试计算两个日期。当我放置
$from = Carbon::createFromFormat('m-d-Y H:i:s', '02-10-2017 10:02:20');
代码我获得了价值,但是当我从mysql放置数据时
$from = Carbon::createFromFormat('m-d-Y H:i:s', $from_date);
找不到数据,也无法计算日期和日期
Controller.php
public function circulerMatchView()
{
$user_id = Auth::user()->id;
$resume_exp = Experience::select('user_exp_keyword')
->where('user_id','=',$user_id)
->get();
$from_date = Experience::selectRaw('exp_from_date')
->where('user_id','=',$user_id)
->orderBy('exp_from_date','desc')
->take(1)
->get();
$to_date = Experience::selectRaw('exp_to_date')
->where('user_id','=',$user_id)
->orderBy('exp_from_date','desc')
->take(1)
->get();
$from = DateTime::createFromFormat('m-d-Y H:i:s', $from_date);
$to = Carbon::createFromFormat('m-d-Y H:i:s', $to_date);
$realAge = Carbon::parse($to)->diff(Carbon::parse($from))->format('%y');
print_r($realAge);
}
如果$from_date
是2017年2月21日,而$to_date
是2018年2月21日
结果是1年
答案 0 :(得分:0)
您正在使用get
来获取数组。用您的代码替换这两行并检查。它将仅获取字段数据值。
$from_date = Experience::
where('user_id','=',$user_id)
->orderBy('exp_from_date','desc')
->take(1)
->pluck('exp_from_date')[0];
$to_date = Experience::
where('user_id','=',$user_id)
->orderBy('exp_to_date','desc')
->take(1)
->pluck('exp_to_date')[0];
再次检查此documentation以获得有关pluck
的详细信息。