java.util.Calendarを介して、Javaの特定の日付に関する情報(週、月、年などの日数など)を取得しています。私の状況でカレンダーオブジェクトのロケールを設定する理由はありますか?私は理由を尋ねています:
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
今日(日曜日)の戻り値は常に1ですが、ロケール(cs_CZ)では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));
編集:私は日曜日に1で手間をかけることができますが、使用されているロケールまたはタイムゾーンに関係なく、これが不変の動作であることを確認する必要があります。