试图通过碳laravel来区分日期

时间:2018-05-06 17:29:06

标签: laravel php-7 php-carbon laravel-5.6

我一直试图通过碳来获得两个日期的差异所以我可以计算花费的百分比,但它会保持输出0

  

以下是为了从开始日期和结束日期获得差异。

  public function validityMeter($start_date, $end_date){

    $start_date = Carbon::parse($start_date);
    $diff =$start_date->diffInDays($end_date);

    return $diff;


}

public function percentageMeter($start_date, $end_date){


    $diff = Carbon::parse($start_date);
    $diff = $diff->diffInDays(Carbon::now()->format("Y-m-d"));       
    $multiple = $diff * 100;
    $percentage = $multiple / $this->validityMeter($start_date, $end_date);

    return $percentage;
}
  

第二种方法(percentageMeter())用于获取与当前日期和start_date的差异,之后我将使用两种方法的值来获得百分比。

刀片模板

 <div class="progress progress-xs">
                    <div class="progress-bar progress-bar-green" style="width: {{$obj->percentageMeter($booking->start_date, $booking->end_date)}}"> </div>
                  </div>

控制器

public function type($type){

    // dd(Carbon::now()->format("Y-m-d"));
    $booking = Booking::where("approve", true)
                        ->where("end_date", '>=', Carbon::now()->format("Y-m-d"))
                        ->where("plan_type", $type)
                        ->get();
                        // dd($booking);
    $obj = new Plan;

    $counter= 1;
    return view("admin.plan.type")->with("booking", $booking)
                                    ->with("counter", $counter)
                                    ->with("obj", $obj);
}

$start_date  = 2018-05-06 00:00:00;
$end_date = 2018-12-30

1 个答案:

答案 0 :(得分:1)

您在第二个功能中呼叫Carbon::now(),因此$start_dateCarbon::now()都是相同的日期。只需输入不同的开始日期就可以了。