Ich habe String-Feld, das verwendet wird, um verschiedene Werte zu erhalten. Einige der erhaltenen Werte sind Daten. Jetzt muss ich überprüfen, ob der erhaltene Wert das Datum ist oder nicht? Das empfangene Datum kann wieder in verschiedenen Formaten vorliegen.Wie validiere ich, wenn ein String ein gültiges Datum in js ist
Ich versuchte Date.parse()
, es funktioniert, wenn Format dd-mm-yyyy hh:mm
ist, aber ich habe einige Daten erhalten in wie (26/05/2015 06:20:57 +00:00
).
Wie kann ich vergleichen, ob der String ein gültiges Datum ist oder nicht?
Versuchen Sie malm.js (http://momentjs.com/docs/) zu betrachten, es ist eine ziemlich starke Datumsbibliothek. Sie könnten versuchen, ein Datum mit einem beliebigen Wert zu erstellen, dann prüfen, ob es gültig ist. –
Dies kann ein Duplikat sein, aber der verbundene Betrogene hat meist schlechte Antworten, die sich einfach auf * Date.parse * verlassen, was sehr unzuverlässig ist für zufällige Formate. – RobG
Es ist von grundlegender Bedeutung, eine Datumszeichenkette korrekt zu analysieren, damit Sie dem Parser mitteilen können, in welchem Format er sich befindet (oder geben Sie ein Format an, das Sie ** wissen **, das es korrekt analysiert). Andernfalls können Sie einfach eine Folge verschiedener Formate ausprobieren und anhalten, wenn Sie eine Funktion erhalten, die "funktioniert". Wo das Jahr zuerst ist, können Sie sich einigermaßen sicher sein, aber wenn das Jahr das letzte ist, bedeutet die Prävalenz der unlogischen m/d/y-Folge, dass Sie nicht sicher sagen können, ob 04/05/2010 der 4. Mai ist oder 5. April. – RobG