I’m trying to get one year from now’s date, and it’s not working.
JS:
var now = new Date();
var oneYr = new Date();
oneYr.setYear(now.getYear() + 1);
$("#yearFromNow").append(oneYr.toString());
var oneMonth = new Date();
oneMonth.setMonth(now.getMonth() + 1);
$("#monthFromNow").append(oneMonth.toString());
Output:
one mo. = Thu Dec 22 112 15:16:01 GMT-0500 (Eastern Standard Time)
one yr. = Sun Jan 22 2012 15:16:01 GMT-0500 (Eastern Standard Time)
The year has Dec 22 112 – ?? The month is correctly displaying Jan 22 2012.
If you want to tinker with it, http://jsbin.com/alezaj/edit#javascript,html,live. This is in Chrome and Firefox.
Thanks!
You should use
getFullYear()instead ofgetYear().getYear()returns the actual year minus 1900 (and so is fairly useless).Thus a date marking exactly one year from the present moment would be:
Note that the date will be adjusted if you do that on February 29.
Similarly, you can get a date that’s a month from now via
getMonth()andsetMonth(). You don’t have to worry about “rolling over” from the current year into the next year if you do it in December; the date will be adjusted automatically. Same goes for day-of-month viagetDate()andsetDate().