首页 > 解决方案 > 将 LocalDate 复制到 java.time 中日历中的另一个位置

问题描述

我想将日期(从某个时间段)从日历中的一个地方复制到另一个地方。但是限制很少。我将通过一些例子来展示它。

假设我想复制 6 月 5 日(星期三,变量 dayToCopy)。本周从 6 月 3 日开始(变量 sourceWeekStart)。目标周日期是 12 月 10 日(星期一,变量 targetWeekStart)。正如我们所看到的,因为源日是星期三,所以目标日应该是 12 月 12 日。

这是最简单的部分(可以在这里使用 TemporalAdjuster)。但问题是当我想复制时,比如说 6 月 12 日(源周仍然是 6 月 3 日)。现在 targetDay 应该是 12 月 19 日。我不知道该怎么做,因为 TemporalAdjuster 只匹配下周。谁能帮我这个?

LocalDate convertTemplateTimeToRealTime(LocalDate dayToCopy, LocalDate sourceWeekStart, LocalDate targetWeekStart) {

        long daysBetweenSourceWeekStartAndDayToCopy = DAYS.between(sourceWeekStart, dayToCopy.toLocalDate());

//HERE SHOULD BE THE SOLUTION
    }

标签: javajava-time

解决方案


targetWeekStart.plusDays(daysBetweenSourceWeekStartAndDayToCopy)如果我没有误解,请将目标日期设置为。

链接: 文档LocalDate.plusDays


推荐阅读