java - 使用 java.time.DayOfWeek 设置 Calendar.DAY_OF_WEEK

标签 java

目前我有一些代码可以在基于 java8 java.time.DayOfWeek 对象的日历上设置 DAY_OF_WEEK。由于这些类型的整数值未对齐,即

Calendar.SUNDAY == 1

where as

DayOfWeek.SUNDAY == 7

我想知道是否有推荐的方法可以从一种转换为另一种。目前我正在这样做。

calendar.set(Calendar.DAY_OF_WEEK, dayOfWeek.getValue() == 7 ? 1 : dayOfWeek.getValue() + 1);

最佳答案

我还需要将日历天数转换为 DayOfWeek 并返回:

fun dayOfWeekToCalendarDay(day: DayOfWeek): Int {
    return (day.value % 7) + 1
}

fun calendarDayToDayOfWeek(calendarDay: Int): DayOfWeek {
    val temp = (calendarDay + 6) % 7
    return if (temp == 0) DayOfWeek.SUNDAY else DayOfWeek.of(temp)
}

关于java - 使用 java.time.DayOfWeek 设置 Calendar.DAY_OF_WEEK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31406270/

相关文章:

Java图片处理库(想实现类似Apple Photo booth的拉伸(stretch)效果)

java - 编译 : near "=": syntax error (code 1): , WHERE _id = 时出现 SQLite 异常 : UPDATE person_table SET person_name=?

java - spring webmvc框架中的TransactionRequiredException

java - 在同一服务器中跨 Web 应用程序共享 servlet 上下文

java - 如何将这个包装 map 列表展平为另一种 map Java 8?

java - JAVA并行处理

java - 如何将图像添加到 CSV 文件?

java - java中的抽象类错误

java - 为什么Spring中的RequestMapping得到空值

java - 有没有办法从本地 jar 在 pom 文件中创建 Maven 依赖项