Sto usando moments.js per lavorare con le date in javascript. Tutte le date sono in UTC (o dovrebbero essere).Moment.js diff tra le date UTC
ho il giorno successivo (60 minuti dal termine corrente):
//Wed, 04 Apr 2012 21:09:16 GMT
to = moment.utc().add('m', 60).toDate();
Ora voglio ottenere la differenza in secondi tra questa data e il datetime UTC corrente, in modo da fare:
seconds = moment.utc().diff(to, 'seconds');
Questo restituisce 10800
anziché 3600
, quindi 3 ore, anziché 1.
Qualche idea su cosa sto facendo male?
Grazie!
EDIT:
ho aggiornato la linea di seconds = moment().diff(to, 'seconds');
e ottiene i secondi Currect, ma è -3600
invece di positivo.
EDIT:
Ora ho questi due oggetti momento:
{ _d: Thu, 05 Apr 2012 17:33:18 GMT, _isUTC: true }
{ _d: Thu, 05 Apr 2012 16:38:45 GMT, _isUTC: true }
D1 e D2.
Quando faccio d1.diff(d2, 'hours', true);
restituisce 4
. È sicuramente qualcosa a che fare con l'UTC, penso, ma sembra che questo dovrebbe funzionare.
Hm, che 'a' è davvero un valore proveniente dal database, che è stato creato utilizzando il codice sopra, quindi devo usare toDate() per ottenere la stringa da memorizzare. – dzm
@Super Ho modificato il post. Lavorare con oggetti momento che sono UTC, ottenendo problemi simili. – dzm