Скопируйте LocalDate в другое место в календаре в java.time - PullRequest
0 голосов
/ 19 сентября 2018

Я хочу скопировать день (с некоторого периода времени) из одного места в календаре в другое.Но есть несколько ограничений.Я покажу это на некотором примере.

Допустим, я хочу скопировать 5 июня (это среда, переменная dayToCopy).Эта неделя начинается 3 июня (переменная sourceWeekStart).Дата целевой недели - 10 декабря (понедельник, переменная targetWeekStart).Как мы видим, поскольку исходный день - среда, targetDay должен быть здесь 12 декабря.

Это была простая часть (здесь можно использовать TemporalAdjuster).Но проблема в том, что когда я хочу скопировать, скажем, 12 июня (исходная неделя все еще 3 июня).Теперь targetDay должен быть 19 декабря.Я не знаю, как это сделать, потому что TemporalAdjuster сопоставить его только на следующей неделе.Кто-нибудь может мне помочь с этим?

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

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

//HERE SHOULD BE THE SOLUTION
    }

1 Ответ

0 голосов
/ 19 сентября 2018

Установите целевой день на targetWeekStart.plusDays(daysBetweenSourceWeekStartAndDayToCopy), если я не понял неправильно.

Ссылка: Документация LocalDate.plusDays

...