2013-01-23 10 views
6

Ho notato che quando uso momentJs per produrre una data in un formato particolare nel mio fuso orario, quel giorno è perso.MomentJS .format() produce la data corretta -1 giorno nel mio fuso orario

Sono nel fuso orario UTC-4: 30.

Questo non accade in tutti i fusi orari; ha notato che funziona correttamente nel fuso orario UTC-5: 00.

Di seguito sono riportati i risultati console.log eseguiti consecutivamente:


inseguimento dell'uscita:

moment([2013, 0, 24]) 

Moment
    _a: Array [8]
    _d: gio 24 gen 2013 00:00:00 GMT-0430 (ora solare Venezuela)
    _isUTC: true
    _lang: true
    _proto: Oggetto

moment([2013, 0, 24]).toDate() 

Gio 24 Gen 2013 00:00:00 GMT-0430 (Venezuela Standard Time)


Output errato:

moment('01/24/2013').format('MM/DD/YYYY') 

"2013/01/23"

moment([2013, 0, 24]).format('MM/DD/YYYY') 

"2013/01/23"


Si noti che una volta che il metodo .format() viene utilizzato, un giorno è perduto e il 23 viene emesso invece del 24 °.


Qualcuno può spiegare questo comportamento? Di nuovo, sembra specifico per il fuso orario.

risposta

0

ho impostato il mio fuso orario (UTC-4:30) Caracas, e poi controllato il valore di:

moment('01/24/2013').format('MM/DD/YYYY') 

tornò correttamente 01/24/2013, quindi non posso riprodurre il problema che hai descritto.

Sto verificando con moment.js 2.0.0. in Google Chrome 27.0.1453.116m in esecuzione su Windows 8.

Forse questo è correlato a una versione precedente di moment.js. Puoi verificare per favore?

+0

dove hai impostato il fuso orario? – daydreamer

+0

@daydreamer - nelle impostazioni del fuso orario del sistema operativo Windows. –

Problemi correlati