Получить рабочие дни в порядке по языку - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь узнать, сможем ли мы упорядочить рабочие дни по локали.Например, в локали США мы начнем с воскресенья, а FR - с понедельника (в терминах календаря).Чтобы разобраться в этом, я создаю приложение для будильника с рабочими днями, когда будильник повторяется в определенные дни -

enter image description here

Вот дни неделине в порядке, что я вижу в

new DateFormatSymbols().getShortWeekdays();

0 = ""
1 = "Sun"
2 = "Mon"
3 = "Tue"
4 = "Wed"
5 = "Thu"
6 = "Fri"
7 = "Sat"

0 = ""
1 = "dim."
2 = "lun."
3 = "mar."
4 = "mer."
5 = "jeu."
6 = "ven."
7 = "sam."

1 Ответ

0 голосов
/ 10 октября 2018

java.time

public static void printWeekdays(Locale loc) {
    WeekFields wf = WeekFields.of(loc);
    DayOfWeek day = wf.getFirstDayOfWeek();
    for (int i = 0; i < DayOfWeek.values().length; i++) {
        System.out.println(day.getDisplayName(TextStyle.SHORT, loc));
        day = day.plus(1);
    }
}

Давайте попробуем:

    printWeekdays(Locale.US);

Результат этого вызова:

Sun
Mon
Tue
Wed
Thu
Fri
Sat

Или по-французски:

    printWeekdays(Locale.FRANCE);

Теперь понедельник / лунди на первом месте, а по-французски, конечно:

lun.
mar.
mer.
jeu.
ven.
sam.
dim.

Вопрос: Могу ли я использовать Java.время на Android?

Да, java.time прекрасно работает на старых и новых устройствах Android.Для этого требуется как минимум Java 6 .

  • В Java 8 и более поздних версиях и на более новых устройствах Android (от уровня API 26) современный API поставляется встроенным.
  • В Java 6 и 7 получают ThreeTen Backport, бэкпорт новых классов (ThreeTen для JSR 310; см. Ссылки внизу).
  • На (более старых) Android используется версия ThreeTen для AndroidBackport.Это называется ThreeTenABP.И убедитесь, что вы импортируете классы даты и времени из org.threeten.bp с подпакетами.

Ссылки

...