Как получить разницу во времени ('h: m: s') между двумя значениями времени, которые уже находятся в этом формате - PullRequest
0 голосов
/ 22 сентября 2019

Я хочу получить разницу между двумя значениями в формате hour:min:sec.Например, время начала 02:00:00 и время окончания 02:30:00 Разница должна быть 00:30:00

Я пытался использовать Carbon, но я думаю, что он поддерживает другой формат

<td> {{ \Carbon\Carbon::now()->diff(\Carbon\Carbon::parse($sales->created_at))}}</td>

Я хочу получить разницу во hour:min:sec вход также будет в том же формате

Ответы [ 2 ]

0 голосов
/ 22 сентября 2019

Carbon diff() функция возвращает DateInterval Object.

Ваш ожидаемый результат можно получить из объекта DateInterval, вызвав функцию format().

<td>
    {{ $timeDifference = now()->diff($sales->created_at)->format('%h:%i:%s') }}
</td>
0 голосов
/ 22 сентября 2019

Ваш код работает нормально,

$diff = \Carbon\Carbon::now()->diff(\Carbon\Carbon::parse('12:50:35'));

Это вернет объект DateInterval,

DateInterval {#242 ▼
  interval: + 11:18:14.006875
  +"y": 0
  +"m": 0
  +"d": 0
  +"h": 11
  +"i": 18
  +"s": 14
  +"f": 0.006875
  +"weekday": 0
  +"weekday_behavior": 0
  +"first_last_day_of": 0
  +"invert": 0
  +"days": 0
  +"special_type": 0
  +"special_amount": 0
  +"have_weekday_relative": 0
  +"have_special_relative": 0
}

Затем вы можете получить diff в часах, секундах, минутах, днях и т. Д.

$diff->h, $diff->i, $diff->s, $diff->days

Таким образом, ваш ввод будет,

$diff->h .':'. $diff->i .':'. $diff->s

В противном случае вы можете использовать,

$diffInhours = \Carbon\Carbon::now()->diffInHours(\Carbon\Carbon::parse('12:50:35');
$diffInMinutes = \Carbon\Carbon::now()->diffInMinutes(\Carbon\Carbon::parse('12:50:35'));

или много других способов .

...