406 Stimmen

Warum liefert Date.parse falsche Ergebnisse?

Fall eins:

new Date(Date.parse("Jul 8, 2005"));

Sortie :

Fri Jul 08 2005 00:00:00 GMT-0700 (PST)

Fall 2:

new Date(Date.parse("2005-07-08"));

Sortie :

Thu Jul 07 2005 17:00:00 GMT-0700 (PST)


Warum ist das zweite Parsing falsch?

1voto

Stephane L Punkte 1921

があります。 akzeptierte Antwort von CMS ist korrekt, ich habe gerade einige Funktionen hinzugefügt:

  • Trimmen und Reinigen der Eingangsbereiche
  • Analyse von Schrägstrichen, Bindestrichen, Doppelpunkten und Leerzeichen
  • hat Standardtag und -uhrzeit

// parse a date time that can contains spaces, dashes, slashes, colons
function parseDate(input) {
    // trimes and remove multiple spaces and split by expected characters
    var parts = input.trim().replace(/ +(?= )/g,'').split(/[\s-\/:]/)
    // new Date(year, month [, day [, hours[, minutes[, seconds[, ms]]]]])
    return new Date(parts[0], parts[1]-1, parts[2] || 1, parts[3] || 0, parts[4] || 0, parts[5] || 0); // Note: months are 0-based
}

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