加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Calendar#getFirstDayOfWeek()返回错误的值

发布时间:2020-12-15 08:28:47 所属栏目:Java 来源:网络整理
导读:我可能会忽略一些令人难以置信的明显事物,但为什么会这样: final Calendar calendar = Calendar.getInstance(Locale.GERMAN);System.out.println(calendar.getFirstDayOfWeek()); 造成 1 (Sunday) 代替 2 (Monday) ? 在有人声称“一周的第一天是所有讲德语
我可能会忽略一些令人难以置信的明显事物,但为什么会这样:

final Calendar calendar = Calendar.getInstance(Locale.GERMAN);
System.out.println(calendar.getFirstDayOfWeek());

造成

1  (Sunday)

代替

2 (Monday)

在有人声称“一周的第一天是所有讲德语的人的星期天”(again)之前,它是not:“[D]是工作日号码,从1到7,从星期一开始到星期日结束.”

事实上,Locale.GERMANY会产生正确的“星期一”.

为什么一周的第一天是星期天的德国语言环境?

解决方法

特定语言的所有默认语言环境,例如Locale.GERMAN,Locale.FRENCH,Locale.ENGLISH默认未指定部分到美国的语言环境.实际上,这些常数代表居住在美国的德语,法语或英语.

这个问题可能没有很好的答案,因为只知道语言不足以弄清楚一周的第一天.也许是因为Java是由美国公司为美国市场开发的,默认的区域设置值使用美国作为国家.

如果您需要德语语言环境,请使用Locale.GERMANY,如其他答案所指出的那样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读