Seltsames Ergebnis mit Date-Klasse

sirbender

Top Contributor
Hallo,

ich hab wohl nicht richtig ausgeschlafen. Ein Haufen Datums-Strings wird richtig interpretiert. Bei diesem hier gibt es ein Fehler:

import java.util.Calendar;

public class Snippet {


public static void main(String[] args) {
String curr = "2017013123";
Calendar calendar = Calendar.getInstance();
calendar.set(new Integer(curr.substring(0, 4)), new Integer(curr.substring(4, 6)), new Integer(curr.substring(6,8)), new Integer(curr.substring(8,10)), 0, 0);

System.out.println(calendar);
System.out.println(calendar.getTimeInMillis());
System.out.println(calendar.getTime());
System.out.println(calendar);
}
}

Kann mir jemand auf die Spruenge helfen was hier schieflaeuft?
 
Die Zählung der Monate beginnt nämlich mit 0! Deshalb bezweifle ich auch, dass die anderen Datums-Strings korrekt interpretiert werden
 
Falls Java >8 verwendet wird, wäre es doch vermutlich besser auf die neuen Datums- und Zeitklassen zu setzen, oder?

"java.time"
 

Zurück
Oben