提问者:小点点

按地区顺序获取工作日


我想看看我们是否能按地区顺序排列工作日。例如,在US地区,我们将从周日开始,而FR将从周一开始(根据日历)。为了使其有意义,我正在制作一个警报应用程序,其中警报在某些日子重复-

这是我看到的工作日没有顺序

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个答案

匿名用户

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);

现在星期一/Lundi是第一位的,当然在法语中:

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

是的,java. time在旧的和新的Android设备上运行良好。它只需要至少Java6。

  • 在Java8及更高版本和更新的Android设备上(从API26级),内置了现代API。
  • 在Java6和7中,获取ThreeTenBackport,即新类的backport(ThreeTenforJSR310;参见底部的链接)。
  • 在(较旧的)Android上使用Android版本的ThreeTenBackport。它被称为ThreeTenABP。并确保您使用子包从org. trieten.bp导入日期和时间类。
  • Oracle教程:Date Time解释如何使用java. time
  • Java规范请求(JSR)310,其中首次描述了java. time
  • 三个反向移植项目,将java. time反向移植到Java6和7(三个用于JSR-310)。
  • ThreeTenABP,Android版的ThreeTenBackport
  • 问题:如何在Android项目中使用ThreeTenABP,并有非常详尽的解释。