java - 一周的第一天是基于语言还是基于 JVM 的国家?

标签 java calendar jvm

可以通过调用 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/

相关文章:

java - 如何对 Liquibase 数据源配置和 persistence.xml 应用 DRY?

php - 如何为 PHP 日历值设置默认 View

java - SimpleDateFormat 小时字符串在某些*日期*上相差一。如何?为什么?

java - 返回尝试资源。这是 JVM 的正确行为吗?

crash - JpCapWriter使JVM崩溃

java - 为什么说变量未初始化?

java - 从 Eclipse 在 Tomcat 中部署时更改 Web 应用程序中的文件夹名称

java - 检测对象是否覆盖了 toString()

javascript - jQuery 周历插件

java - Java JIT 在运行 JDK 代码时会作弊吗?