2016-01-13 6 views
12

Ich möchte erhalten aktuelle Datum, aber die Zeit sollte 00:00:00.000Wie 00.00.00 einstellen moment.js

verwenden habe ich versuche dies:

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

aber ich habe: 2016-01-12T23:00:00.000Z Warum 23 und nicht 00?

+0

Sie können ausschließen, wenn Sie keine Zeit haben wollen. Was ist echte Absicht zu halten 00:00:00 –

+0

@Venkatraman Ich brauche Millisekunden für den aktuellen Tag. – jcubic

+1

Sie könnten einfach 'moment() verwenden. StartOf (" day ");' (mit einem optionalen '.utc()' dazwischen, wenn Sie das brauchen). – pootzko

Antwort

28

Moment.js speichert datiert es utc und verschiedene Zeitzonen, um es anwenden können. Standardmäßig gilt Ihre lokale Zeitzone. Wenn Sie die Uhrzeit nach dem Datum des Datums einstellen möchten, müssen Sie die Zeitzone angeben.

Versuchen Sie, den folgenden Code:

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

Oder 'moment.utc()'. – robertklep

0

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

Ich möchte das aktuelle Datum, aber die Zeit sollte 00:00:00 – jcubic

0

Sie haben nicht gezeigt, wie Sie die Zeichenfolge 2016-01-12T23:00:00.000Z erstellen, aber ich gehe davon über .format().

Wie auch immer, .set() verwendet Ihre lokale Zeitzone, aber die Z in der Zeit Zeichenfolge zeigt zero time, auch bekannt als UTC. So

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

Ich gehe davon aus Ihrer lokalen Zeitzone 23 Stunden von UTC ist?

saikumar's answer zeigte, wie die Zeit als UTC geladen wird, aber die andere Option ist die Verwendung eines .format() Aufrufs, der mit Ihrer lokalen Zeitzone und nicht mit UTC ausgibt.

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

+0

Ich habe 'toISOString()' Methode verwendet. – jcubic

+0

toISOString() gibt das Datum in UTC statt Ihrer lokalen Zeitzone zurück. http://momentjs.com/docs/#/displaying/as-iso-string/ – AndyJ

+0

Die "Z" ist Null UTC Offset: "Die Zeitzone ist immer Null UTC Offset, wie durch das Suffix" Z "angegeben." https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString – Mawaheb