Первый день недели выводится из текущей локали. Если вы не установите языковой стандарт календаря ( Calendar.getInstance (Locale) или new GregorianCalendar (Locale) ), он будет использовать систему по умолчанию. Системное значение по умолчанию может быть переопределено параметром JVM:
public static void main(String[] args) {
Calendar c = new GregorianCalendar();
System.out.println(Locale.getDefault() + ": " + c.getFirstDayOfWeek());
}
Это должно показать другой вывод с разными параметрами JVM для языка / страны:
-Duser.language=en -Duser.country=US
-> en_US: 1
(воскресенье)
-Duser.language=en -Duser.country=GB
-> en_GB: 2
(понедельник)
Не забывайте, что это может изменить и другое поведение (u) r.