2016-01-13 9 views
12

voglio ottenere data corrente, ma il tempo dovrebbe essere 00:00:00.000Come impostare 00:00:00 utilizzando moment.js

ho provate questo:

var m = moment(); 
m.set({hour:0,minute:0,second:0,millisecond:0}); 
console.log(m.toISOString()); 

ma ho: 2016-01-12T23:00:00.000Z perché 23 e non 00?

+0

si può escludere, se non si vuole tempo. Qual è la vera intenzione di mantenere 00:00:00 –

+0

@Venkatraman Ho bisogno di millisecondi per il giorno corrente. – jcubic

+1

Si potrebbe semplicemente usare 'moment(). StartOf (" day ");' (con un opzionale '.utc()' in mezzo se questo è ciò di cui si ha bisogno). – pootzko

risposta

28

negozi Moment.js lo data UTC e possono applicare diversi fusi orari ad esso. Per impostazione predefinita applica il fuso orario locale. Se si desidera impostare l'ora in utc, è necessario specificare il fuso orario di utc.

provare il seguente codice:

var m = moment().utcOffset(0); 
m.set({hour:0,minute:0,second:0,millisecond:0}) 
m.toISOString() 
m.format() 
+1

Oppure 'moment.utc()'. – robertklep

0

moment.utc(0).format('HH:mm:ss') 
+0

Voglio la data corrente, ma il tempo dovrebbe essere 00:00:00 – jcubic

0

Non hai mostrato come si sta creando la stringa 2016-01-12T23:00:00.000Z, ma suppongo via .format().

In ogni caso, .set() utilizza il fuso orario locale, ma il Z nella stringa del tempo indica zero time, altrimenti noto come UTC.

https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators

quindi immagino che il fuso orario locale, è di 23 ore da UTC?

saikumar's answer ha mostrato come caricare l'ora come UTC, ma l'altra opzione è utilizzare una chiamata .format() che emette utilizzando il fuso orario locale anziché UTC.

http://momentjs.com/docs/#/get-set/
http://momentjs.com/docs/#/displaying/format/

+0

Ho usato il metodo 'toISOString()'. – jcubic

+0

toISOString() restituisce la data in UTC, anziché il fuso orario locale. http://momentjs.com/docs/#/displaying/as-iso-string/ – AndyJ

+0

La "Z" è lo scostamento zero UTC: "Il fuso orario è sempre uguale allo zero UTC, come indicato dal suffisso" Z "." https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString – Mawaheb

Problemi correlati