[JAVA] Calendar.MONTH commence à 0

Pourquoi le mois de la classe Calendrier commence-t-il par "0"?

Un jour, je parlais de la raison pour laquelle le «mois» avait été interrompu d'un mois.

int month = Calendar.getInstance().get(Calendar.MONTH);

Si vous exécutez ce code en février, le mois sera "1". Si vous répondez qu'il commence par "0", n'est-il pas gênant de savoir pourquoi il commence par "0"? C'est devenu une histoire. Je n'avais pas été au courant jusqu'à présent, mais quand on m'a dit, c'était étrange de commencer par "0"! J'étais inquiet à ce sujet, et quand j'ai demandé à quelqu'un qui semblait le savoir,

Au Japon, en comptant les mois, il s'exprime comme "janvier, février, mars ..." Les pays anglophones sont exprimés en "janvier, février, mars ..." au lieu de chiffres. Ne commence-t-il pas par "0" pour pouvoir être facilement géré par un tableau ou un programme?

Je ne sais pas si c'est correct, mais je vois! J'ai pensé. Lorsque je l'ai recherché en ligne, j'ai trouvé des questions et des réponses similaires.

Le système dont je suis principalement responsable fonctionne toujours sur Java 5 et 6, donc Si vous souhaitez obtenir le "mois" actuel, il est souvent décrit comme suit.

int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
System.out.println(month + "Mois");

Avec ** Java 8 ou version ultérieure **, vous pouvez obtenir le "mois" actuel sans écrire "+1" en utilisant la classe LocalDate.

int month = LocalDate.now().getMonthValue();
System.out.println(month + "Mois");

Recommended Posts

Calendar.MONTH commence à 0
Mois du calendrier
De (écran)
Obtenez "2-4, 7, 9" de [4, 7, 9, 2, 3]