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:
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);
Da questo codice ottengo i seguenti risultati:

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?