首页 > 解决方案 > Java 8 日期 API - 获取月份中的一周抛出 UnsupportedTemporalTypeException:不支持的字段:DayOfWeek

问题描述

我正在尝试像这样获得本月的一周:

YearMonth
    .from(Instant.now().atZone(ZoneId.of("UTC")))
    .get(WeekFields.ISO.weekOfMonth())

但这抛出

java.time.temporal.UnsupportedTemporalTypeException:不支持的字段:DayOfWeek

我似乎无法弄清楚为什么会出现此异常,因为我没有对DayOfWeek. 有任何想法吗?

标签: javakotlindate

解决方案


您无法使用YearMonth. 它只有yearmonth。改变

YearMonth
    .from(Instant.now().atZone(ZoneId.of("UTC")))
    .get(WeekFields.ISO.weekOfMonth())

LocalDate
    .from(Instant.now().atZone(ZoneId.of("UTC")))
    .get(WeekFields.ISO.weekOfMonth())

我得到

1

推荐阅读