Heim  >  Artikel  >  Web-Frontend  >  Wie konvertiere ich einen TT-MM-JJJJ-String sicher in ein JavaScript-Datumsobjekt?

Wie konvertiere ich einen TT-MM-JJJJ-String sicher in ein JavaScript-Datumsobjekt?

Susan Sarandon
Susan SarandonOriginal
2024-11-22 19:57:14321Durchsuche

How to Safely Convert a dd-mm-yyyy String to a JavaScript Date Object?

Konvertieren Sie eine Zeichenfolge im TT-MM-JJJJ-Format in ein Datumsobjekt in JavaScript.

Beim Versuch, eine Zeichenfolge im TT-MM-JJJJ-Format zu konvertieren In ein Date-Objekt kann es aufgrund des Vorhandenseins von „-“ zu „Ungültiges Datum“-Fehlern kommen. Symbole.

Lösung 1: Aufteilen nach „-“

Teilen Sie die Zeichenfolge in ihre einzelnen Tages-, Monats- und Jahreskomponenten auf:

var dateStr = $("#datepicker").val();
var dateParts = dateStr.split("-");
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);

Lösung 2: Verwenden Sie reguläre Ausdrücke (Regex)

Verwenden Sie zum Extrahieren einen regulären Ausdruck die einzelnen Komponenten aus der Zeichenfolge:

var regex = /(\d{2})-(\d{2})-(\d{4})/;
var date = new Date(dateStr.replace(regex, "//"));

Empfehlung: Aufteilung nach „-“

Während Regex mehr Flexibilität bietet, wird beim Parsen die Aufteilung nach „-“ empfohlen Verwenden Sie Zeichenfolgen mit festem Format, da dies einfacher und effizienter ist, insbesondere wenn Sie die Parsing-Logik in mehreren Teilen Ihrer Datei wiederverwenden Code.

Wiederverwendbarkeit und modernes JavaScript

Für die Wiederverwendbarkeit können Sie die Parsing-Logik in eine Funktion einbinden:

function parseDate(dateStr) {
  var dateParts = dateStr.split("-");
  return new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);
}

In modernem JavaScript Sie können die Array-Destrukturierung verwenden, um das Parsen zu vereinfachen:

const parseDate = (dateStr) => {
  const [day, month, year] = dateStr.split("-");
  return new Date(year, month - 1, day);
};

Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen TT-MM-JJJJ-String sicher in ein JavaScript-Datumsobjekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn