微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我可能会忽略一些令人难以置信的明显事物,但为什么会这样:

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,如其他答案所指出的那样.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐