So stellen Sie 00:00:00 mit moment.js ein [duplicate]

Lesezeit: 2 Minuten

Benutzer-Avatar
jkubisch

Ich möchte das aktuelle Datum erhalten, aber die Uhrzeit sollte es sein 00:00:00.000

Ich habe das versucht:

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?

  • Sie können ausschließen, wenn Sie keine Zeit haben möchten. was ist die wirkliche Absicht, 00:00:00 zu halten

    – Venkat.R

    13. Januar 2016 um 9:56 Uhr

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

    – jkubisch

    13. Januar 2016 um 10:07 Uhr

  • Du könntest einfach verwenden moment().startOf("day"); (mit optional .utc() dazwischen, wenn es das ist, was Sie brauchen).

    – tkit

    1. November 2017 um 11:10 Uhr


  • Startdatum.utcOffset(0); startDate.set({ Stunde: 0, Minute: 0, Sekunde: 0, Millisekunde: 0, });

    – nawaz anjum

    4. April 2021 um 8:18 Uhr

  • @nawazanjum das ist genau die akzeptierte Antwort.

    – jkubisch

    4. April 2021 um 8:36 Uhr

Benutzer-Avatar
Wolodymyr Synytskyi

Moment.js speichert Daten in UTC und kann verschiedene Zeitzonen darauf anwenden. Standardmäßig wird Ihre lokale Zeitzone angewendet. Wenn Sie die Uhrzeit auf UTC-Datumszeit einstellen möchten, müssen Sie die UTC-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()

Benutzer-Avatar
saikumar

var time = moment().toDate();  // This will return a copy of the Date that the moment uses

time.setHours(0);
time.setMinutes(0);
time.setSeconds(0);
time.setMilliseconds(0);

  • Ich möchte das aktuelle Datum, aber die Uhrzeit sollte 00:00:00 sein

    – jkubisch

    13. Januar 2016 um 9:13 Uhr

  • Wie wäre es mit nur moment().startOf(‘day’) ? Es würde die Zeit auf den Beginn des aktuellen Tages setzen.

    – Craig

    31. Januar 2019 um 14:35 Uhr


Sie haben nicht gezeigt, wie Sie die Zeichenfolge erstellen 2016-01-12T23:00:00.000Zaber ich nehme an, über .format().

Wie auch immer, .set() verwendet Ihre lokale Zeitzone, aber die Z in der Zeitleiste angibt Null Zeitauch bekannt als UTC.

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

Ich gehe also davon aus, dass Ihre lokale Zeitzone 23 Stunden von UTC entfernt ist?

Die Antwort von saikumar zeigte, wie die Zeit als UTC geladen wird, aber die andere Option ist die Verwendung von a .format() Nennen Sie diese Ausgabe mit Ihrer lokalen Zeitzone und nicht mit UTC.

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

  • Ich habe verwendet toISOString() Methode.

    – jkubisch

    13. Januar 2016 um 9:17 Uhr

  • toISOString() gibt das Datum in UTC und nicht in Ihrer lokalen Zeitzone zurück. momentjs.com/docs/#/displaying/as-iso-string

    Benutzer310988

    13. Januar 2016 um 9:18 Uhr

  • Das „Z“ ist ein Null-UTC-Offset: „Die Zeitzone ist immer ein Null-UTC-Offset, wie durch das Suffix „Z“ angegeben.“ developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

    – Mawaheb

    24. November 2017 um 12:43 Uhr


  • @Mawaheb Ah, so ist es, danke für die Korrektur. Ich war etwas verwirrt, da die Zulu-Zeit auch die Null-Zeitzone AKA UTC AKA GMT ist greenwichmeantime.com/info/zulu

    Benutzer310988

    24. November 2017 um 12:47 Uhr

1144570cookie-checkSo stellen Sie 00:00:00 mit moment.js ein [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy