Hinzufügen von Tagen zu Datum in javascript / typescript gibt völlig Falsches Datum

Habe ich diese sehr einfachen code, und es funktioniert manchmal, aber andere Male ist es gibt die komplette Falsches Datum:

  addDays(date: Date, days: number): Date {
    console.log('adding ' + days + ' days');
    console.log(date);
    date.setDate(date.getDate() + days);
    console.log(date);
    return date;
  }

Hier ist ein Beispiel der Ausgabe:

Funktioniert!

adding 7 days
error-chart.component.ts:118 Tue Aug 02 2016 00:00:00 GMT+0200 (Vest-Europa (sommertid))
error-chart.component.ts:120 Tue Aug 09 2016 00:00:00 GMT+0200 (Vest-Europa (sommertid))

Nicht mehr funktioniert:

adding 14 days
error-chart.component.ts:118 Tue Aug 02 2016 00:00:00 GMT+0200 (Vest-Europa (sommertid))
error-chart.component.ts:120 Thu Mar 02 2017 00:00:00 GMT+0100 (Vest-Europa (normaltid))

irgendwie springt 2 Jahren

adding 14 days
error-chart.component.ts:118 Thu Jul 07 2016 00:00:00 GMT+0200 (Vest-Europa (sommertid))
error-chart.component.ts:120 Thu Jun 14 2018 00:00:00 GMT+0200 (Vest-Europa (sommertid))

nun 4 Jahren!

adding 14 days
error-chart.component.ts:118 Thu Jun 14 2018 00:00:00 GMT+0200 (Vest-Europa (sommertid))
error-chart.component.ts:120 Thu Apr 14 2022 00:00:00 GMT+0200 (Vest-Europa (sommertid))
  • Es gibt eine ungezählte Menge von JS date Fragen. Sind Sie sicher, dass keiner von Ihnen diese Antwort?
  • Gut, ich kopiert und eingefügt die Antwort bei einer dieser Fragen. Aber immer noch eine Methode, die 10% der Zeit...
InformationsquelleAutor ganjan | 2016-08-02
Schreibe einen Kommentar