Java 8 Date API - 获取星期几投掷UnsupportedTemporalTypeException:不支持的字段:DayOfWeek

ser*_*0ne 6 java kotlin java-date

我试图像这样得到当月的一周:

YearMonth
    .from(Instant.now().atZone(ZoneId.of("UTC")))
    .get(WeekFields.ISO.weekOfMonth())
Run Code Online (Sandbox Code Playgroud)

但这引发了

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

我似乎无法解决为什么我得到这个例外,因为我没有做任何事情DayOfWeek.有任何想法吗?

Ell*_*sch 7

你不能使用当月的一周YearMonth.它只有一年一个月.更改

YearMonth
    .from(Instant.now().atZone(ZoneId.of("UTC")))
    .get(WeekFields.ISO.weekOfMonth())
Run Code Online (Sandbox Code Playgroud)

LocalDate
    .from(Instant.now().atZone(ZoneId.of("UTC")))
    .get(WeekFields.ISO.weekOfMonth())
Run Code Online (Sandbox Code Playgroud)

我明白了

1
Run Code Online (Sandbox Code Playgroud)