Heim > Artikel > Web-Frontend > Wie konvertiere ich einen TT-MM-JJJJ-String sicher in ein JavaScript-Datumsobjekt?
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!