Получить месяц в формате mm в javascript

Как получить месяц с текущей даты в формате mm? (т.е. "05" )

Это мой текущий код:

var currentDate = new Date();
var currentMonth = currentDate.getMonth() + 1;

Ответы

Ответ 1

if (currentMonth < 10) { currentMonth = '0' + currentMonth; }

Ответ 2

Альтернативный способ:

var currentMonth=('0'+(currentDate.getMonth()+1)).slice(-2)

Ответ 3

Однострочное решение:

var currentMonth = (currentDate.getMonth() < 10 ? '0' : '') + currentDate.getMonth();

Ответ 4

для даты:

("0" + this.getDate()).slice(-2)

и аналогичный за месяц:

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

Ответ 5

Версия ES6, созданная Гертом Гренандером

let date = new Date();
let month = date.getMonth()+1;
month = '0${month}'.slice(-2);

Ответ 6

Если вы сделаете это

var currentDate = new Date();
var currentMonth = currentDate.getMonth() + 1;

то currentMonth - это число, которое вы можете отформатировать так, как хотите, посмотрите на этот вопрос, который поможет вам в форматировании: Как я могу отформатировать целое число до определенной длины в javascript?

Ответ 7

Чтобы принятый ответ возвращал строку последовательно, это должно быть:

if(currentMonth < 10) {
    currentMonth = '0' + currentMonth;
} else {
    currentMonth = '' + currentMonth;
}

Или:

currentMonth = (currentMonth < 10 ? '0' : '') + currentMonth;

Просто для funsies, здесь версия без условного:

currentMonth = ('0' + currentMonth).slice(-2);

Изменить: переключится на slice, на Gert G ответ, кредит, в котором должен быть кредит; substr тоже работает, я не понял, что он принимает отрицательный аргумент start

Ответ 8

var CurrentDate = new Date();
    CurrentDate.setMonth(CurrentDate.getMonth());

    var day = CurrentDate.getDate();
    var monthIndex = CurrentDate.getMonth()+1;
    if(monthIndex<10){
        monthIndex=('0'+monthIndex);
    }
    var year = CurrentDate.getFullYear();

    alert(monthIndex);