so I wrote a method that takes a number and subtracts the number of months from the current date.
I am trying to figure out how to add “0” before months that are less than 10. Also, how can I add “0” in front on days that are less than ten,
Currently, when it returns an object (2012-6-9). It returns 6 and 9 without a “0” in front of it, can someone show me how to do this?
Here is my code
lastNmonths = function(n) { var date = new Date(); if (n <= 0) return [date.getFullYear(), date.getMonth() + 1 , date.getDate()].join('-'); var years = Math.floor(n/12); var months = n % 12; if (years > 0) date.setFullYear(date.getFullYear() - years); if (months > 0) { if (months >= date.getMonth()) { date.setFullYear(date.getFullYear()-1 ); months = 12 - months; date.setMonth(date.getMonth() + months ); } else { date.setMonth(date.getMonth() - months); } } } return [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-'); };
source share