Salve a tutti, come da oggetto devo fare la differenza tra due orari che hanno questo formato:

Codice PHP:
$inizio=2022-03-21 23.00
$fine
2022-03-22 05.05 
essendo oggetti datetime, stavo utilizzando la funzione diff di datetime:

Codice PHP:
$differenzadate_diff($fine,$inizio); 
il problema � che la differenza che mi d� � 6.5 invece dovrebbe essere 6.05 ho provato anche utilizzando:

Codice PHP:
$differenza$fine->diff($inizio); 
ma il risultato � identico, � un peccato perch� � di facile utilizzo e funziona perfettamente per tutti i valori che abbiano i minuti in doppia cifra, quindi da 10 in poi. Non so se esiste un settaggio da fare, non ho trovato nulla.

Ho trovato poi quest'altra funzione che fa quello che chiedo:

Codice PHP:
$ora2=$fine->format('H:i');
$ora1=$inizio->format('H:i');

function 
differenzaore($ora2$ora1){
        
$sep=':';
                     
        
$part explode($sep$ora1);
        
$arr explode($sep$ora2);
        
$diffmktime($arr[0], $arr[1]) - mktime($part[0], $part[1]);
        
$ore=floor($diff / (60*60)); 
        
$minuti=($diff 60) % 60;
        
$ore str_pad($ore,2,0,STR_PAD_LEFT);
        
$minuti str_pad($minuti,2,0,STR_PAD_LEFT);
        
$risultato $ore.":".$minuti;
        return 
$risultato;
    } 
Anche questa funziona perfettamente, ma non per tutti i casi, per orari dello stesso giorno � perfetta, ma per orari che si trovano a cavallo dei due giorni (come da esempio), il calcolo non viene eseguito bene.
Qualcuno sa come risolvere il problema con uno dei metodi visti sopra? Grazie.