我正在使用 Java 8 日期和时间实用程序。我正在使用中的TemporalAdjuster
接口和实现TemporalAdjusters
来操作特定日期或日期的计算。
我的要求是计算3个月零2天后的一天。例如,今天是 12 月 6 日(即 YYYY-MM-DD 中的 2016-12-06),3 个月零 2 天后,日期将是 2017 年 3 月 8 日(即 YYYY-MM 中的 2017-03-08 -DD)。
我尝试了两种使用日期和时间实用程序执行此操作的方法,如下所示:
//First
LocalDate dayAfter3MonthsAnd2Days = LocalDate
.now()
.with(firstDayOfNextMonth()).plusMonths(2).plusDays(2);
//Second
LocalDate dayAfter3MonthsAnd2Days = LocalDate
.now()
.with(firstDayOfMonth()).plusMonths(3).plusDays(2);
它们都返回日期为 2017 年 3 月 3 日(即 2017-03-03),如下所示:
dayAfter3MonthsAnd2Days = 2017-03-03
有什么方法可以自定义 TemporalAdjusters 并获得所需的输出?或者任何其他替代方案来实现目标?