Wenn Sie herausfinden möchten, ob Sie ein gültiges Datum haben, verwenden Sie Moments isValid
:
... die ""
für die Zeichenfolge end_date
verwendet, wenn das Datum ungültig ist.
Hier gehen zwei sehr unterschiedliche Dinge vor.
Erstens:
0000-00-00T00:00:00
ist ein ungültiges Datum. Es gibt keinen Monat vor Januar (welcher Monat Nr. 1 in diesem Format ist), noch einen Tag vor dem ersten Tag. Also macht 0000-00-00
keinen Sinn.
0000-01-01T00:00:00
wäre gültig - und moment("0000-01-01T00:00:00").format("L")
gibt gerne "01/01/0000"
zurück.
Wenn Sie ein gültiges Datum verwenden (z. B. Ihr 2015-01-01T00:00:00
-Beispiel), ist der Code in Ordnung.
Zweitens:
%Vor%Es gibt [object String] sogar mit einem gültigen Datum zurück, so dass die if-Bedingung in meinem Fall nicht funktioniert.
Natürlich tut es das: format
gibt eine Zeichenkette zurück, und Sie verwenden format
, um end_date
zu erhalten.
Wenn Sie wissen möchten, ob ein MomentJS-Objekt ein ungültiges Datum hat, können Sie Folgendes überprüfen:
%Vor% Wenn Sie wissen möchten, ob ein Objekt Date
ein ungültiges Datum hat:
... weil isNaN
das Datum auf seine primitive Form umsetzt, die die Anzahl der Millisekunden seit dem 1. Januar 1970 00:00:00 GMT ist, und wenn ein Datum ein "ungültiges" Datum hat, die Zahl Es enthält NaN
. Also isNaN(theDateObject)
ist wahr, wenn das Datum ungültig ist.
Tags und Links javascript momentjs invalidate