2016-08-09 30 views
1

Ich habe eine einfache App erstellt, die einen Datum Vergleich benötigen. Ich benutzte Moment.js, und ich habe auf Antwort auf diese Frage versucht:Moment.js vergleichen zwei Datum eine Warnung geworfen

Compare two dates in JS

Moment js date time comparison

How to compare only date in moment.js

Aber nicht alle von ihnen arbeiten für mich.

und jetzt verwende ich diesen Code:

if(moment('09/12/2016').isAfter('09/11/2016')){ 
    console.log("True") 
} else { 
    console.log("False") 
} 

Aber in der Konsole ist es eine Warnung ausgelöst:

Deprecation Warnung: Moment Konstruktion js Datum fällt zurück. Diese wird abgeraten und wird in der kommenden Hauptversion entfernt werden. Bitte beziehen Sie sich auf http://momentjs.com/guides/#/warnings/js-date/ für weitere Informationen.

Alle bitte helfen Sie mir. Hier ist meine Geige https://jsfiddle.net/gq6ykw8L/

Antwort

1

Ihre Datum Zeichenfolge ist mehrdeutig zwischen DD/MM/YYYY und MM/DD/YYYY. Wenn Sie auf den Link in der Warnung (http://momentjs.com/guides/#/warnings/js-date/) beziehen sich, heißt es:

Diese deprecation Warnung ausgelöst wird, wenn kein bekanntes Format für eine Datum in den String-Konstruktor übergeben gefunden wird. Um dieses Problem zu umgehen, geben ein Format für die Zeichenfolge, die an Moment() übergeben wird.

Sie müssen moment(String, Format) verwenden, um das Format der Datumszeichenfolge angeben.

moment('09/12/2016', 'DD/MM/YYYY'); 
moment('09/12/2016', 'MM/DD/YYYY'); 
+0

Problem https://jsfiddle.net/gq6ykw8L/2/ –

+0

@EngkusKusnadi, Das Datum Zeichenfolge innerhalb isAfter wirft die Warnung in der Geige. Deklariere das zweite Datum als Moment, indem du Moment (String, Format) verwendest. Siehe https://jsfiddle.net/ozzan/gq6ykw8L/4/ – Ozan

+0

Danke, es funktioniert! –