如何使用JVM参数为java.util.Calendar指定firstDayOfWeek

use*_*172 13 java calendar jvm-arguments

我正在尝试将java.util.Calendar的默认firstDayOfWeek从SUNDAY更改为MONDAY.是否可以通过JVM配置实现此目的,而不是添加这段代码?

cal.setFirstDayOfWeek(Calendar.MONDAY);
Run Code Online (Sandbox Code Playgroud)

Kar*_*iem 16

一周的第一天来自当前的语言环境.如果您未设置日历的语言环境(Calendar.getInstance(Locale)新的GregorianCalendar(Locale)),它将使用系统的默认设置.系统的默认值可以被JVM参数覆盖:

public static void main(String[] args) {
    Calendar c = new GregorianCalendar();
    System.out.println(Locale.getDefault() + ": " + c.getFirstDayOfWeek());
}
Run Code Online (Sandbox Code Playgroud)

这应该显示不同的输出以及语言/国家/地区的不同JVM参数:

  • -Duser.language=en -Duser.country=US- > (星期天)en_US: 1
  • -Duser.language=en -Duser.country=GB- > (星期一)en_GB: 2

不要忘记这可能会改变其他行为(你).