Вычесть две даты и получить время Carbon?

как получить время - минуты и секунды из разницы между датами?

сделал так,
$diff = Carbon::parse($numbers['date_send'])->getTimestamp() - Carbon::now()->getTimestamp();
$time = Carbon::parse($diff)->format('m:s');
$minutes = Carbon::parse($diff)->format('m');
$seconds = Carbon::parse($diff)->format('s');

но
return Carbon::parse($diff);

выдает "1970-01-01T00:19:11.000000Z"
  • Вопрос задан
  • 2316 просмотров
Решения вопроса 1
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
зачем через getTimestamp() вычисляете diff, когда есть методы diff() у даты?!

и почему из диффа (разницы) вы создаете время
допустим разница будет 10 секунд, если для 10 секнуд вы время будете создавать, тогда выдавать вам будет как 10 секунд от начала отсчета (полуночи 1 января 1970 года)

Решения:
Считать разницу через difference

$date1 = Carbon::createMidnightDate(2016, 1, 5); // <-- тут любой способ создания объекта
$date2 = Carbon::createMidnightDate(2017, 3, 15);

echo $date1->diffInDays($date2);                   // 435
echo $date1->diffInWeekdays($date2);               // 311
echo $date1->diffInWeekendDays($date2);            // 124
echo $date1->diffInWeeks($date2);                  // 62
echo $date1->diffInMonths($date2);                 // 14
echo $date1->diffInQuarters($date2);               // 4
echo $date1->diffInYears($date2);                  // 1

https://carbon.nesbot.com/docs/#api-difference
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы