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...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie haben ein problem mit Typen. Wenn
days
ist 14, dann wird es Ertrag 16. August richtig. Allerdings, wenndays
ist "14", dann wird es Ertrag 2. März.Lösung: