Попытка получить разницу дат с углеродным laravel

Я пытался получить разницу двух дат с углеродом, чтобы рассчитать потраченный процент, но он продолжает выводить 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

person M'Baku    schedule 06.05.2018    source источник
comment
Какая из разностей возвращает ноль?   -  person Muhammad Nauman    schedule 06.05.2018
comment
Последний метод, @MuhammadNauman $diff = $diff-›diffInDays(Carbon::now()-›format(Y-m-d));   -  person M'Baku    schedule 06.05.2018
comment
используйте $diff = $diff->diffInDays(Carbon::now()); и проверьте   -  person Muhammad Nauman    schedule 06.05.2018
comment
Все еще ноль, я уже пробовал раньше и только что сделал еще раз, и он вернул ноль. @MuhammadNauman   -  person M'Baku    schedule 06.05.2018
comment
какая у вас start_date?   -  person Muhammad Nauman    schedule 06.05.2018
comment
Просто добавил это сейчас в описание вопроса внизу   -  person M'Baku    schedule 06.05.2018
comment
Получил это сейчас? Вы вызываете Carbon::now() во второй функции, так что $start_date и `Carbon::now()' являются одними и теми же датами. Просто укажите другую дату начала, и все будет хорошо.   -  person Muhammad Nauman    schedule 06.05.2018
comment
Да! вы правы, я решил это с вашей помощью, не могли бы вы ответить на это в разделе ответов, чтобы я мог выбрать его как правильный ответ @MuhammadNauman Спасибо тысячу   -  person M'Baku    schedule 07.05.2018


Ответы (1)


Вы вызываете Carbon::now() во второй функции, поэтому $start_date и Carbon::now() являются одинаковыми датами. Просто укажите другую дату начала, и все будет хорошо.

person Muhammad Nauman    schedule 07.05.2018