Laravel 5 在laravel中查找两个日期之间的天数

Laravel 5 在laravel中查找两个日期之间的天数,laravel-5,Laravel 5,我得去约会。现在,我需要找出这两者之间的差异,以便进一步计算 我尝试了不同的方法,但无法解决问题。谁能告诉我最好的方法吗 我的代码是: public function leaveRequest(request $request) { $fdate=$request->Fdate; $tdate=$request->Tdate; $start = Carbon::parse($fdate)->format('Y/m/d'); $end = Ca

我得去约会。现在,我需要找出这两者之间的差异,以便进一步计算

我尝试了不同的方法,但无法解决问题。谁能告诉我最好的方法吗

我的代码是:

public function leaveRequest(request $request)
{
    $fdate=$request->Fdate;
    $tdate=$request->Tdate;

    $start = Carbon::parse($fdate)->format('Y/m/d');
    $end =  Carbon::parse($tdate)->format('Y/m/d');

    $days = $end->diffInDays($start);
    /*$days=date_diff($end,$start);*/
    echo $days;
    exit;

    $user = User::findOrFail(Auth::user()->id);
    Mail::send('pages.leave', ['user' => $request,'userId'=>$user], function ($m) use ($request) {
        $m->to($request->Email)->subject('Leave Request!');
    });

    DB::table('leaves')->insert(
        ['user' => Auth::user()->id, 'request_date' => Carbon::now(),'start' => $start,'end' => $end,'permissions' => "Pending",'leave_status' => "Active"]
    );

    return redirect()->back()->with('message','Your request has sent');
}

如果我能得到天数,那么我就可以将其插入树叶表。

你不需要碳,你可以使用简单的PHP实现。最好是使用PHP OOP方式。像这样:

$fdate = $request->Fdate;
$tdate = $request->Tdate;
$datetime1 = new DateTime($fdate);
$datetime2 = new DateTime($tdate);
$interval = $datetime1->diff($datetime2);
$days = $interval->format('%a');//now do whatever you like with $days
$fdate = $request->Fdate;
$tdate = $request->Tdate;
$datetime1 = strtotime($fdate); // convert to timestamps
$datetime2 = strtotime($tdate); // convert to timestamps
$days = (int)(($datetime2 - $datetime1)/86400); // will give the difference in days , 86400 is the timestamp difference of a day

PS:DateTime不是一个函数,它是一个类,所以别忘了添加:
use DateTime位于控制器顶部,以便它可以引用右根类,或者在创建其实例时使用
\DateTime()


我希望它能帮助任何使用PHP版本
$fdate = $request->Fdate;
$tdate = $request->Tdate;
$datetime1 = new DateTime($fdate);
$datetime2 = new DateTime($tdate);
$interval = $datetime1->diff($datetime2);
$days = $interval->format('%a');//now do whatever you like with $days
$fdate = $request->Fdate;
$tdate = $request->Tdate;
$datetime1 = strtotime($fdate); // convert to timestamps
$datetime2 = strtotime($tdate); // convert to timestamps
$days = (int)(($datetime2 - $datetime1)/86400); // will give the difference in days , 86400 is the timestamp difference of a day


我正在控制器中编写此代码。此代码引发错误:找不到类“App\Http\Controllers\Admin\DateTime”。DateTime与php配合使用。添加
使用DateTime在控制器顶部,然后重试。尝试了之后,它成功了!。之前,我用的是碳的日期时间。这对我没有帮助。Thanks@KiranRai Chamling,如果答案有助于您关闭此线程,请将其标记为已接受。谢谢,如果出现问题,您可以在
DateTime
代码中添加
try{}catch(\Exception$e){}
。因为当发生错误时,
DateTime
类将抛出
Exception
。感谢PHPStorm提醒我。您需要提供一个解释,说明为什么您的答案针对原始问题。看见