1
votes

Réagissez: obtenez le nom du mois au lieu du numéro

Vous devez obtenir le nom du mois (par exemple, avril) au lieu du numéro compatible avec une application React.

J'ai essayé d'utiliser quelques extraits de code JavaScript, mais je n'obtiens pas les résultats dont j'ai besoin.

Vous utilisez actuellement {(new Date (). getMonth () + 1)} pour extraire le numéro du mois. À noter, il s'agit d'un rendu en dehors d'un composant.


2 commentaires

L'utilisation d'une plage de mois prédéfinie est-elle une solution acceptable?


Double possible de Obtenir le nom du mois à partir de la date


3 Réponses :


0
votes

Vous pouvez utiliser {['January', 'February', ..., 'December'] (new Date (). getMonth ())} . Il choisira le bon index dans le tableau des mois (par exemple, index 0 = janvier).


0 commentaires

1
votes

La forme la plus simple serait d'utiliser un tableau:

let monthNumber = (new Date().getMonth()+1);
let monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
let monthName = monthNames[monthNumber];

// render jsx
return (<div>{monthName}<div>)

Au cas où vous auriez besoin de faire plus avec la date (comparer, ajouter, soustraire, etc.), vous voudrez peut-être utiliser une bibliothèque, par exemple moment.js .


0 commentaires

-1
votes

Ce devrait être:

let monthName = monthNames[monthNumber - 1];


2 commentaires

salut Dave, merci pour ta réponse! pouvez-vous ajouter une explication à votre code? on ne sait pas ce que vous pensez que l'auteur de la question s'est trompé, ni en quoi il s'agit d'une solution. si "monthNames" est un tableau particulier par exemple, veuillez le décrire (même si vous pensez que c'est évident) car il n'est pas du tout mentionné dans la question


Salut Sasha, Désolé pour le malentendu! Le tableau est basé sur zéro, donc par ex. Septembre serait à l'index 8! C'est pourquoi j'ai pensé que cela pourrait être assez clair pour tout le monde. Voir aussi mon formulaire de capture d'écran VS. -Désolé, il semble que je ne peux pas encore télécharger d'images!