931 Stimmen

Moment.js in ein Datumobjekt umwandeln.

Mit Moment.js kann ich kein korrektes Moment-Objekt in ein Datum-Objekt mit Zeitzonen umwandeln. Ich kann das korrekte Datum nicht erhalten.

Beispiel:

var oldDate = new Date(),
    momentObj = moment(oldDate).tz("MST7MDT"),
    newDate = momentObj.toDate();
console.log("Startdatum " + oldDate)
console.log("Format von Moment mit Offset " + momentObj.format())
console.log("Format von Moment ohne Offset " + momentObj.utc().format())
console.log("(Datum-Objekt) Zeit mit Offset " + newDate)
console.log("(Datum-Objekt) Zeit ohne Offset "+ moment.utc(newDate).toDate())

9voto

kizoso Punkte 1216

Um jedes Datum umzuwandeln, zum Beispiel Utc:

moment(moment().utc().format("YYYY-MM-DD HH:mm:ss")).toDate()

5voto

Emerson Bottero Punkte 308
let dateVar = moment('beliebiger Datumswert');
let newDateVar = dateVar.utc().format();

schön und sauber!!!!

5voto

Kamil Kiełczewski Punkte 69048

Versuchen (ohne Schritt format)

new Date(moment())

var d = moment.tz("2019-04-15 12:00", "America/New_York");

console.log( new Date(d) );
console.log( new Date(moment()) );

4voto

chovy Punkte 64969

Ich musste Zeitzoneninformationen in meinem Datumsstring haben. Ich habe ursprünglich moment.tz(dateStr, 'America/New_York').toString(); verwendet, aber dann begann ich Fehler zu bekommen, wenn ich diesen String zurück in moment einspeiste.

Ich habe es mit moment.tz(dateStr, 'America/New_York').toDate(); versucht, aber dann habe ich die Zeitzoneninformationen verloren, die ich benötigte.

Die einzige Lösung, die einen verwendbaren Datumsstring mit Zeitzoneninformationen zurückgab, der wieder an moment übergeben werden konnte, war moment.tz(dateStr, 'America/New_York').format();

2voto

Feng Zhang Punkte 1202

Moment hat die js-Bibliothek bis 06/2018 aktualisiert.

var newYork    = moment.tz("2014-06-01 12:00", "America/New_York");
var losAngeles = newYork.clone().tz("America/Los_Angeles");
var london     = newYork.clone().tz("Europe/London");

newYork.format();    // 2014-06-01T12:00:00-04:00
losAngeles.format(); // 2014-06-01T09:00:00-07:00
london.format();     // 2014-06-01T17:00:00+01:00

wenn du die Freiheit hast, Angular5+ zu verwenden, dann ist es besser, dort die datePipe-Funktion zu verwenden als die Zeitzonenfunktion hier. Ich muss moment.js verwenden, weil mein Projekt auf Angular2 begrenzt ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X