roeygol:
Necesito conseguir el primer día de la semana durante un cierto Locale / País.
He intentado encontrar que el uso de este código:
final Locale[] locales = new Locale[]{
new Locale("en_GB"),
new Locale("ru_RU"),
new Locale("en_US"),
new Locale("es_ES"),
new Locale("fr_FR"),
new Locale("iw_IL"),
new Locale("he_IL")
};
for (final Locale locale : locales) {
final Calendar cal = Calendar.getInstance(locale);
final int firstDayOfWeek = cal.getFirstDayOfWeek();
System.out.println(firstDayOfWeek);
}
El resultado de este código es que todos estos lugares está recuperando '1', que es domingo, y lugares tan en_US
debería devolver 2, que es lunes.
achAmháin:
Pase en dos argumentos - idioma y país , por separado - en lugar de su cadena con subrayado. Ver Oracle Tutorial .
final Locale[] locales = new Locale[]{
new Locale("en", "GB"), // Pass language code, then country code, separately.
new Locale("ru", "RU"),
new Locale("en", "US"),
new Locale("es", "ES"),
new Locale("fr", "FR"),
new Locale("iw", "IL"),
new Locale("he", "IL")
};
Y entonces me gustaría utilizar Java8 para conseguir el primer día de la semana:
DayOfWeek firstDayOfWeek = WeekFields.of(locale).getFirstDayOfWeek();
System.out.println(firstDayOfWeek);
Salida:
LUNES
LUNES
DOMINGO
LUNES
LUNES
DOMINGO
DOMINGO