2017-12-06 3 views
-2

Ich möchte keine Tage zwischen zwei Daten berechnen (zB: vor 2 Tagen). Erstes Datum 'this.tt2' ist das aktuelle Datum und das zweite Datum, ich hole 'this.ent' aus der Datenbank. Ich möchte jedes Datum der Datenbank mit dem aktuellen Datum berechnen.Wie berechnet man keine Tage zwischen zwei Daten?

Ich habe diesen Code verwendet, aber es funktioniert nicht.

this.tt = new Date(); 
     this.tt1 = this.datePipe.transform(this.tt,'dd-MMM-yy'); 
     this.tt2 = this.tt1.toUpperCase(); 
     console.log(this.tt2,"NEW DATE"); 
     let sdf = this.tt2 - this.ent; 
     console.log(sdf,"Differnce"); 

Error snapshot here

Bitte beraten.

UPDATE 1:

Der Versuch, aber immer noch NaN Antwort, ist unten file.ts Code bekommen zu subtrahieren -

this.tt1 = this.datePipe.transform(this.tt,'MM/dd/yyyy'); 
    this.tt2 = this.tt1.toUpperCase(); 
    this.ent[0] = this.datePipe.transform(this.ent[0],'MM/dd/yyyy'); 
    console.log(this.ent[0],"server DATE"); 
    let sdf =this.tt1 - this.ent[0]; 
    console.log(sdf,"Difference"); 

sdf wird NaN kommenden

+0

Wenn Sie komplexe Operationen mit Datum & Zeit verwenden, können Sie momentjs verwenden. https://momentjs.com Moment hat @types auch Typoskript zu unterstützen. https://www.npmjs.com/package/@types/moment –

+0

Bitte lesen Sie meine Frage erneut, ich habe 'Update 1' hinzugefügt, ich bin sehr nah an der Lösung, bitte beraten –

Antwort

0

Diese gelöst werden kann mit plain js, da es nicht von eckigen abhängig ist. Mögen ähnliche Antworten schon da sein. Grundlegende Logik ist es, die Anzahl der Millisekunden seit dem 1. Januar 1970, 00:00:00 für beide dtaes zu erhalten. Dann subtrahiere die spätere von der früheren und wandle diese Millisekundendifferenz in Tage um. Nur wenige von ihnen sind hier:

https://stackoverflow.com/a/543152/5346095

https://stackoverflow.com/a/2627493/5346095

+0

Bitte lesen Sie meine Frage erneut, Ich habe "Update 1" hinzugefügt, ich bin sehr nah an der Lösung, bitte beraten –

Verwandte Themen