I might be overlooking something incredible obvious, but why does this:
final Calendar calendar = Calendar.getInstance(Locale.GERMAN);
System.out.println(calendar.getFirstDayOfWeek());
Result in
1 (Sunday)
instead of
2 (Monday)
?
And before someone claims "the first day of the week is Sunday for all German speaking people" (again), it's not: "[D] is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday."
In fact, Locale.GERMANY
results in the correct "Monday".
Why would the first day of the week be Sunday for a German locale?