191 votes

getMinutes () 0-9 - Comment faire avec deux nombres?

 var date = "2012-01-18T16:03";
var date = new Date(date);

console.log(date.getMinutes());
console.log(date.getMinutes().length)
 

Cela retourne 3.

  1. Comment puis-je le faire revenir '03'?
  2. Pourquoi .length renvoie-t-il unfinded?

J'ai essayé ça, mais ça n'a pas marché:

Si strlen == 1 alors num = ('0' + num);

350voto

ogur Points 1484
var date = new Date("2012-01-18T16:03");

console.log( (date.getMinutes()<10?'0':'') + date.getMinutes() );

251voto

Bambam Points 31

Aïe, ces réponses ne sont pas excellents, même le poste le plus élevé upticked. Ici y go, cross-browser et plus propre int/conversion de chaîne de caractères. De Plus, mon conseil est de ne pas utiliser un nom de variable "date" avec un code comme celui - date = Date(...) lorsque vous êtes en s'appuyant fortement sur la langue de la casse (il fonctionne, mais risqué quand vous travaillez avec un serveur/navigateur de code dans différentes langues avec des règles différentes). Donc, en supposant que le javascript Date dans un var current_date:

mins = ('0'+current_date.getMinutes()).slice(-2);

La technique est de prendre la plus à droite des 2 personnages (slice(-2)) "0" ajouté sur la chaîne de valeur de getMinutes(). Donc:

"0"+"12" -> "012".slice(-2) -> "12"

et

"0"+"1" -> "01".slice(-2) -> "01"

13voto

KapteinMarshall Points 152

J'aimerais apporter une solution plus nette au problème, si vous me le permettez. La réponse acceptée est très bonne. Mais je l'aurais fait comme ça.

 Date.prototype.getFullMinutes = function () {
   if (this.getMinutes() < 10) {
       return '0' + this.getMinutes();
   }
   return this.getMinutes();
};
 

Maintenant, si vous voulez utiliser ceci.

 console.log(date.getFullMinutes());
 

5voto

IanGSY Points 2157

Une autre option:

 var dateTime = new Date();
var minutesTwoDigitsWithLeadingZero = ("0" + dateTime.getMinutes()).substr(-2);
 

4voto

Yaron U. Points 3278

vous devriez vérifier s'il est inférieur à 10 ... ne cherchez pas sa longueur, car il s'agit d'un nombre et non d'une chaîne

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X