2017-06-08 3 views
0

Ich benutze unteren Code, um Datum Objekt nach dem Akzeptieren Datum Zeichenfolge vom Benutzer im MM/DD/YYYY String-Format zu erstellen.Javascript Datum Rundung bis zum nächsten Monat

var userEnteredDate = '02/31/2015'; //example incorrect date entered by user 
var userDate = new Date(userEnteredDate); //Getting rounded to 3rd March instead of throwing error 

Gibt es eine Möglichkeit, dies in JavaScript zu beheben. Ich möchte nicht alle Validierungen für Leap Jahre, Datum fehlt aus Gregorian Kalender usw.

Das erforderliche Verhalten ist es sollte NaN zurückgeben, wenn falsches Datum übergeben. Ich möchte keine Drittanbieter-Bibliothek aus Gründen der Kompatibilität mit älteren Version von angularjs verwenden.

** Hinweis: ** Dies ist anders als Momentjs verwendet wird, ist diese Frage über das Thema in JavaScript-Date-Funktionalität

Antwort

1

Datum Parsen des nativen Date Konstruktor ist unzuverlässig. Sie sollten stattdessen die Bibliothek Moment.js verwenden - es werden Fehler für ungültige Daten ausgegeben.

Wenn Sie einem Benutzer erlauben, Daten einzugeben, können Sie auch einen Datepicker für bessere UX verwenden.

+0

Hallo, Es scheint, wir haben einige Probleme bei der Verwendung von momentjs Bibliothek aufgrund der bestehenden älteren Version von Javascripts in unserem Projekt verwendet. – amitmah

Verwandte Themen