我需要获得某个区域/国家/地区的每周第一天。
我试着用下面的代码找到它:
final Locale[] locales = new Locale[]{
new Locale("en_GB"),
new Locale("ru_RU"),
new Locale("en_US"),
new Locale("es_ES"),
new Locale("fr_FR"),
new Locale("iw_IL"),
new Locale("he_IL")
};
for (final Locale locale : locales) {
final Calendar cal = Calendar.getInstance(locale);
final int firstDayOfWeek = cal.getFirstDayOfWeek();
System.out.println(firstDayOfWeek);
}
这段代码的结果是所有这些区域设置都检索“1”,即星期天,而像en_US
这样的区域设置应该返回2,即星期一。
发布于 2018-09-17 18:22:24
初始化Locale
时出错,需要传递两个参数language和country。单参数构造函数仅适用于语言。
例如,对于Locale("en_GB")
,应该是Locale("en", "GB")
,然后结果将是2。
顺便说一句,对于Locale("en", "US")
,结果是1(星期日)。
https://stackoverflow.com/questions/52365194
复制相似问题