2008-11-06 19 views

Respuesta

16

El primer día de la semana se deriva de la configuración regional actual. Si no establece la configuración regional del calendario (Calendar.getInstance(Locale), o new GregorianCalendar(Locale)), utilizará el valor predeterminado del sistema. predeterminado del sistema puede ser anulado por un parámetro de JVM:

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

Esto debería mostrar una salida diferente con diferentes parámetros de JVM para idioma/país:

  • -Duser.language=en -Duser.country=US ->en_US: 1(Domingo)
  • -Duser.language=en -Duser.country=GB ->en_GB: 2(Lunes)

No se olvide que esto podría cambiar otra behavio (u) r también.

0

¿Ha intentado invocar la JVM con otra configuración regional? Pero hay que tener cuidado con los efectos secundarios ...

3

De acuerdo con la API:

Calendario define una semana de siete días específica para la localización utilizando dos parámetros: el primer día de la semana y los días mínimos en primera semana (de 1 a 7). Estos números se toman de los datos de recursos locales cuando se construye un Calendario. También se pueden especificar explícitamente a través de los métodos para establecer sus valores.

Por lo tanto, si se asegura de que su configuración regional esté configurada correctamente, esto se establecerá implícitamente. Personalmente, preferiría establecer explícitamente esto ...

Consulte #64038 para conocer las formas de establecer una configuración regional desde la línea de comandos.

Cuestiones relacionadas