2016-07-25 7 views
0

Ich habe eine Funktion, das Datum mit Formaten,überprüfen Sie das Datum größer als 0001-01-01 in Moment.js

export function FormatDate(date: string) { 
if (date != null) { 
    return moment.utc(date).format('DD MMM YYYY'); 
} 
else 
    return ""; 
} 

Aber das Problem ist, dass Nulldaten als „0001-01-01 empfangen werden "(DateTime Mindestwert). Wie kann ich es mit Moment js überprüfen?

Konnte keinen direkten Weg finden, es zu tun. Folgende Code funktioniert, aber es ist hässlich,

new moment("0001-01-01").format("DD MMM YYYY") == moment.utc(date).format("DD MMM YYYY") 

Das "Datum" Ich erhalte in ist "/ Date (-62135596800000) /" Format.

Ich versuchte, moment.utc(date).isAfter("0001-01-01") und es funktioniert nicht so gut, gibt wahr zurück.

Was ist der beste Weg, serialisiertes Datum zu überprüfen, ist nicht das Mindestdatum?

Antwort

2

Ich denke, Sie fehlen die Zeitzone Teil beim Vergleich der Daten. Bitte beachten Sie den folgenden Code und lassen Sie mich wissen, wenn dies erforderlich ist:

var minDate = moment.utc("0001-01-01"); // minimum value as per UTC 

var receiveDate = moment("/Date(-62135596800000)/"); // replace with variable 
if(moment.utc(receiveDate).isAfter(minDate)){ 
    alert('yebo !'); 
} 
Verwandte Themen