web-dev-qa-db-fra.com

Obtenir le mois au format mm en javascript

Comment récupérer le mois à partir de la date actuelle au format mm? (c'est-à-dire "05")

Ceci est mon code actuel:

var currentDate = new Date();
var currentMonth = currentDate.getMonth() + 1;
14
Michael Kniskern
if (currentMonth < 10) { currentMonth = '0' + currentMonth; }
17
Matt

Une autre manière:

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

Une solution en ligne:

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

pour la date:

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

et similaire pour le mois:

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

Pour que la réponse acceptée renvoie une chaîne de manière cohérente, il convient que:

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

Ou:

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

Juste pour les amusements, voici une version sans condition:

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

Edit: est passé à slice, selon la réponse de Gert G, crédit lorsque le crédit est dû; substr fonctionne aussi, je ne savais pas qu'il acceptait un argument start négatif

0
eyelidlessness
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);
0
user4931222

Si tu fais ça

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

alors currentMonth est un nombre que vous pouvez formater à votre guise. Voir la question suivante qui vous aidera à formater: Comment formater un entier d'une longueur spécifique en javascript?

0
Igor Pavelek

Version ES6 inspiré de @ gert-grenander 

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