I need to increment a date value by one day in JavaScript.
For example, I have a date value 2010-09-11 and I need to store the date of the next day in a JavaScript variable.
How can I increment a date by a day?
I need to increment a date value by one day in JavaScript.
For example, I have a date value 2010-09-11 and I need to store the date of the next day in a JavaScript variable.
How can I increment a date by a day?
The easiest way is to convert to milliseconds and add 1000*60*60*24 milliseconds e.g.:
Tomorrow in one line in pure JS but it's ugly !
Here is the result :
Two methods:
1:
2: Similar to the previous method
You first need to parse your string before following the other people's suggestion:
If you want it back in the same format again you will have to do that "manually":
But I suggest getting Date.js as mentioned in other replies, that will help you alot.
Three options for you:
1. Using just JavaScript's
Date
object (no libraries):My previous answer for #1 was wrong (it added 24 hours, failing to account for transitions to and from daylight saving time; Clever Human pointed out that it would fail with November 7, 2010 in the Eastern timezone). Instead, Jigar's answer is the correct way to do this without a library:
This works even for the last day of a month (or year), because the JavaScript date object is smart about rollover:
(This answer is currently accepted, so I can't delete it. Before it was accepted I suggested to the OP they accept Jigar's, but perhaps they accepted this one for items #2 or #3 on the list.)
2. Using MomentJS:
(Beware that
add
modifies the instance you call it on, rather than returning a new instance, sotoday.add(1, 'days')
would modifytoday
. That's why we start with a cloning op onvar tomorrow = ...
.)3. Using DateJS, but it hasn't been updated in a long time: