gan*_*jan 3 javascript time datetime date typescript
I have this very simple code, and it works sometimes but other times it gives the complete wrong date:
addDays(date: Date, days: number): Date {
console.log('adding ' + days + ' days');
console.log(date);
date.setDate(date.getDate() + days);
console.log(date);
return date;
}
Run Code Online (Sandbox Code Playgroud)
Here is an example of the output:
Works!
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))
Run Code Online (Sandbox Code Playgroud)
Stops working:
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))
Run Code Online (Sandbox Code Playgroud)
somehow jumps 2 years
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))
Run Code Online (Sandbox Code Playgroud)
now 4 years!
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))
Run Code Online (Sandbox Code Playgroud)
You have a problem with types. If days
is 14, then it will yield 16th August correctly. However, if days
is "14", then it will yield 2nd of March.
Solution:
addDays(date: Date, days: number): Date {
console.log('adding ' + days + ' days');
console.log(date);
date.setDate(date.getDate() + parseInt(days));
console.log(date);
return date;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11462 次 |
最近记录: |