Ciao freebreathe,
il modo più semplice è quello di convertire il formato ora in secondi.
Adesso non so come hai i dati registrati e questa è un cosa fondamentale, perchè quando si devono effettuare questo tipo di calcoli, ci si deve basare su una data di partenza solitamente espressa in unix time o nel formato m/d/Y H:i:s di modo che puoi fare il confronto tra data inizio e data fine per delimitare in formato unix i secondi che separano una data dall'altra.
Detto questo e basandomi su come hai fatto la richiesta l'operazione è di pura matematica:
150 ore sono :
60(secondi) * 60(minuti) * 150 (ore) = 540.000 secondi
186 ore e 40 minuti sono:
{ 60(secondi) * 60(minuti) * 186 (ore) } + { 60( secondi) * 40 (minuti ) } = 669.600 + 2.400 = 672.000
672.000 - 540.000 = 132.000 (secondi)
Eseguite queste operazioni matematiche, ti è sufficiente ripetere il processo inverso per sapere quante ore ci sono di differenza, sapendo che ogni ora sono 3600 secondi
Fammi sapere.