可以通过调用 Calendar.getInstance(locale).getFirstDayOfWeek()
获取 JVM 上一周的第一天。然而,这些信息是基于语言还是基于国家/地区?
最佳答案
事实证明,这是依赖于 JDK 版本的。 JDK8 根据语言返回一周的第一天,因此它返回 SUNDAY
for "en_FI"
"en_US"
和 MONDAY
"fi_FI"
和 "fi_US"
。
但是,JDK9 切换到 CLDR 系统(更合乎逻辑地)使用国家/地区。因此,JDK9 将为 "en_FI"
和 "fi_FI"
语言环境返回 MONDAY
,并将为 SUNDAY
返回“fi_US”
和 “en_US”
。
参见 JEP 252了解更多详情。
此外,引用自 JDK-8203280 :
To add an explanation to this behavior, the CLDR implementation is correct, i.e., the first day of week should be defined by the region, not by the language.
关于java - 一周的第一天是基于语言还是基于 JVM 的国家?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54572146/