Как вы получаете процент времени, оставшегося для carbon php? (Laravel 8.X)

#laravel #php-carbon

#ларавель #php-carbon

Вопрос:

Итак, у меня есть следующее:

 $timeLeft   = $queue->completed_at->diffInSeconds(now()); 

dd($timeLeft);
 

Где $queue — модель (Laravel) с атрибутом completed_at (datetime).

То, что я пытаюсь сделать, по сути: now() / $queue->completed_at в процентах от времени, оставшегося до того, как это будет сделано. (т.е. 0,75)

Я видел другие решения, в которых они принимают now - end time / start - end (или что-то подобное)

Могу ли я не выполнить то же самое с now() помощью and completed_at ?

Ответ №1:

Могу ли я не выполнить то же самое с помощью now() и completed_at ?

Нет, вам нужно время начала, чтобы иметь процент.

В этом примере now() минус начало даст вам количество прошедшего времени, которое можно сравнить со всем временем, чтобы получить процент.

 [==================|=========]
start              now       completed_at
 

Здесь, однако, нет никакого процента для вычисления. У вас есть только now() и completed_at .

 |=============]
now           completed_at