カレンダー#getFirstDayOfWeek()が誤った値を返します。

シュテフィS:

私は明らかに信じられないほどの何かを望むかもしれないが、なぜこれが行います。

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

結果

1  (Sunday)

の代わりに

2 (Monday)

誰かの主張(「週の最初の日はすべてドイツ語を話す人々のための日曜日である」前と再び)、それはだない「[D]月曜日で始まると日曜日で終わる、1から7まで、平日の数です。」

実際には、Locale.GERMANY正しい「月曜日」になります。

なぜ、週の最初の日は、ドイツ語ロケールのための日曜日でしょうか?

チャールズDowbecki:

特定の言語のために、例えば、すべてのデフォルトロケールはLocale.GERMANLocale.FRENCHLocale.ENGLISH米国にロケールの指定されていない部分をデフォルト。効果的にこれらの定数は、アメリカに住んで、ドイツ語、フランス語、英語を話す人を表しています。

ただ言語を知ることが週の最初の日を把握するだけでは不十分であるため、この質問には良い答えはおそらくありません。Javaは米国市場向けUSA社によって開発されたので、たぶんデフォルトロケール値は、国として米国を使用しています。

あなたはドイツ語ロケールの使用が必要な場合はLocale.GERMANY他の回答で指摘したように。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=199923&siteId=1