Ciao a tutti ho il seguente problema:
devo trasformare dei secondi in ore, giorni e minuti partendo da due date.
Le date in questione sono:
19/02/2017 ore 7.44 (millisecondi 1487486640000)
31/03/2017 ore 4.23 (millisecondi 1490926980000)
Inizialmente le trasformo in millisecondi, che ho indicato sopra, li divido per mille per avere i secondi, da qui faccio la differenza tra i secondi per ottenere l'intervallo in secondi tra le date.
L'intervallo in secondi risulta essere: 3440340.
Da questo punto uso questo codice per ottenere i giorni, le ore, i minuti, ecc.
Codice:
Da questo codice ottengo i seguenti risultati:codice:giorni = Math.floor(intervallo / 86400); secondi_resto = intervallo - (giorni * 86400); ore = Math.floor(secondi_resto / 3600); secondi_resto = intervallo - (giorni * 86400) - (ore * 3600); minuti = Math.floor(secondi_resto / 60); secondi_resto = intervallo - (giorni * 86400) - (ore * 3600) - (minuti * 60);
giorni: 39 ore: 19 minuti: 39
il calcolo che faccio io mi da un risultato differente e cioè:
giorni: 39 ore: 20 minuti: 39
Ho fatto delle prove sembra che tutto sia dovuto all'ora legale/solare.
1) 19/2 dalle 7,44 - 10/3 alle 4,23 il risultato é 18 gg 20 h 39 m
2) 19/2 dalle 7,44 - 26/3 alle 4,23 il risultato é 34 gg 20 h 39 m
3) 19/2 dalle 7,44 - 27/3 alle 4,23 il risultato é 35 gg 19 h 39 m
4) 19/2 dalle 7,44 - 28/3 alle 4,23 il risultato é 36 gg 19 h 39 m
5) 19/9 dalle 7,44 - 29/10 alle 4,23 il risultato é 39 gg 20 h 39 m
6) 19/9 dalle 7,44 - 30/10 alle 4,23 il risultato é 40 gg 21 h 39 m
Il discorso, come si vede dall'esempio, si verifica anche al ritorno dell'ora solare, fissata per il 29/10 alle 2.00.
Come posso gestire questa cosa?