首页 > 解决方案 > 为什么不支持向 java.time.Instant 添加周数?

问题描述

下面的一段代码:

Instant inFourWeeks = Instant.now().plus(4L, ChronoUnit.WEEKS);

抛出异常:

java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Weeks

为什么不支持周数?我理解为什么不支持月份和年份,因为它们在较小单位中的持续时间可能会有所不同。但是一周的持续时间是固定的(7 天),我可以通过以下方式达到相同的效果:

Instant inFourWeeks = Instant.now().plus(4L * 7L, ChronoUnit.DAYS);

标签: javatimecalendarjava.time.instantjava-time

解决方案


它每周抛出UnsupportedTemporalTypeException7 天并不是普遍的和恒定的。它可能因不同的日历系统而异。例如,查看每周使用 6 天的阿寒日历系统。


推荐阅读