如何在日期字符串的月/日添加前导“0”?

时间:2013-02-16 22:16:02

标签: javascript jquery date datepicker

所以我写了一个方法,它取一个数字并减去当前日期的月数。

我试图找出如何在少于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('-');
};

3 个答案:

答案 0 :(得分:14)

如果n&lt; 10使用:

("0" + (yourDate.getMonth() + 1)).slice(-2)

答案 1 :(得分:2)

你可以写一个像这样的小函数:

function pad(n) {return (n<10 ? '0'+n : n);}

并将月和日传递给它

return [date.getFullYear(),pad(date.getMonth() + 1), pad(date.getDate())].join('-');

答案 2 :(得分:0)

尝试连续“0”:

   month = date.getMonth() + 1 < 10 ? '0' + date.getMonth() + 1 : date.getMonth() + 1
   return [date.getFullYear(), month, date.getDate()].join('-');