所以我写了一个方法,取一个数字,然后从当前日期减去月数。
我在想怎么在小于10的月份前面加一个'0‘,还有,我怎么在小于10的日子前面加个'0’。
当前,当它返回对象时(2012-6-9)。它返回6和9,前面没有'0‘,有人能告诉我怎么做吗?
以下是我的代码
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('-');
};发布于 2013-02-17 06:26:41
如果n< 10,您也可以使用以下命令来避免测试:
("0" + (yourDate.getMonth() + 1)).slice(-2)发布于 2013-02-17 06:22:43
你可以像这样写一个小函数:
function pad(n) {return (n<10 ? '0'+n : n);}日复一日地度过它
return [date.getFullYear(),pad(date.getMonth() + 1), pad(date.getDate())].join('-');发布于 2013-02-17 06:26:32
尝试连接"0":
month = date.getMonth() + 1 < 10 ? '0' + date.getMonth() + 1 : date.getMonth() + 1
return [date.getFullYear(), month, date.getDate()].join('-');https://stackoverflow.com/questions/14915718
复制相似问题