Java-Kalender, der immer den aktuellen Monat Wert, Klärungsbedarf
Am 1. November ..
Calendar.getInstance().get(Calendar.MONTH); //prints 10 (October)
Wäre es sinnvoll, wenn wir beginnen mit 0, aber es scheint, dass wir nicht
Calendar.getInstance().get(Calendar.JANUARY); //prints 1
Was bin ich bitte?
Calendar.getInstance().get(Calendar.JANUARY);
ist die gleiche der Calendar.getInstance().get(0);
das ist das gleiche von Calendar.getInstance().get(Calendar.ERA);
... was in 1.Monate SIND 0-basiert. Ihre erste Aufruf ist korrekt, um den aktuellen Monat (November).
InformationsquelleAutor JAM | 2012-11-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Monate in Java Kalender sind 0-indiziert.
Calendar.JANUARY
ist nicht ein Feld so sollten Sie nicht werden Sie es auf derget
Methode.Die Art und Weise Sie tun es ist der richtige Kalender.getInstance().get(Calendar.MONAT) . Monate 0-indiziert, so dass, wenn Sie wollten, um es anzuzeigen, würden Sie hinzufügen möchten 1.
InformationsquelleAutor Chris
als andere, sagt Kalender.MONAT gibt int und null indiziert.
um den aktuellen Monat als
String
verwendenSimpleDateFormat.format()
MethodeInformationsquelleAutor PermGenError
ist null-basiert, 10. November. Aus der javadoc;
ist keine vernünftige Sache zu tun, der Wert für
JANUARY
ist 0, das ist das gleiche wieERA
Sie effektiv Berufung;InformationsquelleAutor Qwerky
Calendar.get
nimmt als argument eine der standard-Kalender-Felder, wieYEAR
oderMONTH
nicht der name eines Monats.Calendar.JANUARY
ist 0, das ist auch der Wert desCalendar.ERA
, soCalendar.getInstance().get(0)
zurück, die Epoche, in diesem FallCalendar.AD
1.Zum ersten Teil Ihrer Frage, Anmerkung, dass er wie Wild dokumentiert, die Monate beginnen bei 0, also 10 ist tatsächlich November.
InformationsquelleAutor Florent Guillaume
InformationsquelleAutor Vishvajeet Pal
Verwenden
Calendar.getInstance().get(Calendar.MONTH)+1
um aktuelle Monat.InformationsquelleAutor Tushar