Ciao a tutti
Ok per l'addizione (con la correzione 05.45 a 00.45 poiché vuoi il secondo addendo a 45 minuti) ma dimentichi che non stai usando virgola fissa che impari (scrivi su foglio di carta) a scuola, nei calcolatori si utilizza virgola mobile che spesso è con perdita di precisione (rispetto alla virgola fissa).
In realtà non devi creare un numero in virgola mobile, chi te lo consiglia?
Puoi convertire il tuo oggetto in Unix Time Stamp $oggetto_creato_da_datetime->format('U'); // Unix Time Stamp (però puoi procedere come scritto sotto), sequenza numerica intera che può prevedere anche il segno -.
Se ad esempio mi occorre solamente la differenza tra ore e minuti da due date (giustamente che differiscono solo per ore e minuti), ogni minuto è 60 secondi, anche le ore 360minuti + 35minuti= 395 minuti.
Il primo addendo è un numero intero senza perdita di precisione, il secondo sarà ciò che tu scegli e dunque 45 minuti addendo1+addendo2=somma che è 395 minuti. La conversione da minuti in ore 395 se uguale o maggiore 60 provo una divisione 395/60=6.altri numeri converti in intero con il cast int in una nuova variabile contenitore adesso 6*60=360 395-360=35 se inferiore a un carattere zero iniziale. Output 6ore 35 minuti.
Gli esempi sono trattati primo addendo 05:50 e secondo addendo 00:45
Nel caso di dubbi scrivi, però tenta di scrivere del codice tuo.
Certo devi stamparlo su schermo echo $oggettoDateInterval->format('%I');


Rispondi quotando