2017-12-07 4 views
1

Ich muss zwei Datetimes vergleichen. Das Format der Datumsangaben ist: TT-MM-JJJJ hh: mm: ss.Javascript vergleichen zwei Datumsangaben

Hier ist mein Code:

expirationDate = someDate; 
var now = moment().format("DD-MM-YYYY hh:mm:ss"); 

if(moment(expirationDate).isBefore(now)){ 
    console.log("Past");   
} else { 
    console.log("Future"); 
} 

für diese Datetimes es große Arbeit:

Now: 07-12-2017 11:15:09 
Expiration date: 07-12-2017 10:14:10 
it return Past 

aber dafür funktioniert es nicht:

Now: 07-12-2017 11:15:03 
Expiration date: 15-12-2016 05:59:00 
it return Future 

Ich habe auch versucht mit if (Date.parse (expireDate) < Date.parse (jetzt)) es funktioniert auch nicht richtig. Weiß jemand, wo das Problem ist, oder gibt es eine andere Möglichkeit, zwei Datumsangaben zu vergleichen?

+0

können Sie '+ expireDate <+ now' verwenden – ricky

Antwort

4

Sie müssen das Format der Datumszeichenfolge angeben.

if (moment().isAfter(moment(expirationDate, 'DD-MM-YYYY HH:mm:ss'))) { 
    console.log("Past"); 
} else { 
    console.log("Future"); 
} 
Verwandte Themen