web-dev-qa-db-fra.com

La date du format doit être MM / JJ / AAAA en JavaScript

J'ai un dateformat comme ceci '2010-10-11T00:00:00+05:30'. Je dois formater en MM/dd/yyyy en utilisant JavaScript ou jQuery. Quelqu'un m'aide à faire de même.

123
Pradeep

Essaye ça; Gardez à l'esprit que les mois JavaScript sont indexés sur 0, alors que les jours sont indexés sur 1.

var date = new Date('2010-10-11T00:00:00+05:30');
alert((date.getMonth() + 1) + '/' + date.getDate() + '/' +  date.getFullYear());
245
yogi

Toutes les autres réponses ne résolvent pas vraiment le problème. Ils affichent la date au format mm/jj/aaaa, mais la question portait sur MM/jj/aaaa. Remarquez la différence subtile? MM indique qu'un zéro au début du tableau doit compléter le mois si le mois est un seul chiffre, ainsi il s'agira toujours d'un nombre à deux chiffres.

c'est-à-dire que alors que mm/jj serait 3/31, MM/jj serait 03/31.

J'ai créé une fonction simple pour y parvenir. Notez que le même remplissage est appliqué non seulement au mois, mais également au jour du mois, ce qui en fait le MM/JJ/aaaa:

function getFormattedDate(date) {
  var year = date.getFullYear();

  var month = (1 + date.getMonth()).toString();
  month = month.length > 1 ? month : '0' + month;

  var day = date.getDate().toString();
  day = day.length > 1 ? day : '0' + day;
  
  return month + '/' + day + '/' + year;
}

Mise à jour pour ES2017 à l'aide de String.padStart (), pris en charge par tous les principaux navigateurs sauf IE.

function getFormattedDate(date) {
    let year = date.getFullYear();
    let month = (1 + date.getMonth()).toString().padStart(2, '0');
    let day = date.getDate().toString().padStart(2, '0');
  
    return month + '/' + day + '/' + year;
}
135
Ore4444

Passez votre chaîne dans l'objet Date:

var d = new Date("2010-10-30T00:00:00+05:30");

à partir de là, vous pouvez extraire le contenu souhaité à l'aide des méthodes suivantes:

d.getMonth()+1  // 10
d.getDate()     // 30
d.getFullYear() // 2010

Notez que getMonth() renvoie le numéro du mois zéro basé (0-11) donc un +1 est nécessaire.

Ici vous pouvez trouver une liste d’autres getters : https://developer.mozilla.org/en-US/docs/Web/ JavaScript/Référence/Global_Objects/Date


Une autre façon, en utilisant .slice() et .split()

var d = "2010-10-30T00:00:00+05:30".slice(0, 10).split('-');   
d[1] +'/'+ d[2] +'/'+ d[0]; // 10/30/2010
31
Roko C. Buljan