Was ist der Zweck der locale-Einstellung in Java-java.util.Kalender?

Ich bin der Beschaffung von Informationen (wie die Anzahl der ein Tag in der Woche, Monat, Jahr usw.) zu bestimmten Datum in Java über java.util.Kalender. Gibt es Grund zu der set locale für die Kalender-Objekt in meiner situation? Ich Frage, weil:

System.out.println(cal.get(Calendar.DAY_OF_WEEK));

gibt für heute (Sonntag) immer die Nummer 1, aber in unserer Region (cs_CZ) sollte es sein, 7.

Locale locale = new Locale("cs", "CZ");
TimeZone tz = TimeZone.getTimeZone("Europe/Prague");

Calendar cal = GregorianCalendar.getInstance(tz, locale);
cal.setTime(new Date());

//returns => 1 (but I expected 7)
System.out.println(cal.get(Calendar.DAY_OF_WEEK)); 
//returns => 3 - it's OK
System.out.println(cal.get(Calendar.DAY_OF_MONTH));

EDIT: kann ich hadle mit 1 für Sonntag, aber ich muss sicher sein, dass dies unveränderlich Verhalten unabhängig zur verwendeten Gebietsschema oder Zeitzone.

versuchen Sie, beenden Sie das cal.setTime(new Date());
keine änderung

InformationsquelleAutor Artegon | 2013-03-03

Schreibe einen Kommentar