[JAVA] Calendar.MONTH beginnt bei 0

Warum beginnt der Monat in der Kalenderklasse mit "0"?

Eines Tages sprach ich darüber, warum der "Monat" um einen Monat verschoben war.

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

Wenn Sie diesen Code im Februar ausführen würden, wäre der Monat "1". Wenn Sie antworten, dass es mit "0" beginnt, ist es nicht unpraktisch, warum es mit "0" beginnt? Es wurde eine Geschichte. Ich hatte es bis jetzt nicht bemerkt, aber als mir gesagt wurde, war es seltsam, mit "0" zu beginnen! Ich machte mir darüber Sorgen, und als ich jemanden fragte, der es zu wissen schien,

In Japan wird das Zählen von Monaten als "Januar, Februar, März ..." ausgedrückt. Englisch sprechende Länder werden als "Januar, Februar, März ..." anstelle von Zahlen ausgedrückt. Beginnt es nicht mit "0", damit es einfach von einem Array oder Programm verwaltet werden kann?

Ich weiß nicht, ob das richtig ist, aber ich verstehe! Ich dachte. Als ich es online nachgeschlagen habe, habe ich ähnliche Fragen und Antworten gefunden.

Das System, für das ich hauptsächlich verantwortlich bin, läuft immer noch auf Java 5 und 6, also Wenn Sie den aktuellen "Monat" abrufen möchten, wird dieser häufig wie folgt beschrieben.

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

Mit ** Java 8 oder höher ** können Sie mithilfe der LocalDate-Klasse den aktuellen "Monat" abrufen, ohne "+1" zu schreiben.

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

Recommended Posts

Calendar.MONTH beginnt bei 0
Kalendermonat
Von (Formular)
Holen Sie sich "2-4, 7, 9" aus [4, 7, 9, 2, 3]