碳显示时间不同天数小时秒

i try to make time difference with carbon

$dt = Carbon::parse('2018-07-15 00:00:00');
$now = Carbon::now('Asia/Dubai'); //set current time 
$seconds = $now->diffInSeconds( $dt ); //difference turn into second
$days = $dt->diffInDays($dt->copy()->addSeconds($seconds));
$hours = $dt->diffInHours($dt->copy()->addSeconds($seconds)->subDays($days)); 
$minutes = $dt->diffInMinutes($dt->copy()->addSeconds($seconds)->subHours($hours));

$days result are 12 (its right). $hours result are 8 (seems not right). $minutes result are 17299 (clearly wrong).

how to get the result for example 12 day 5 hours 45 minutes

Actually functions like diffInSeconds give total difference in seconds that's why the number is so large,to get the minutes for the time difference right you can use -:

$minutes = ($now->minute - $dt->minute);