Мне нужно сохранить начало Дата начала постоянной для первой итерации и добавить дату окончания с единицей, и итерация должна произойти до начала даты до конечных данных.Добавление разницы между датами с постоянным модулем
Пример:
Разница между датой начала (1/1/2015) и конечной даты (12/31/2015) составляет 12 месяцев
и блок 4 месяца
затем Я должен получить
Contract Start date End date
1 1/1/2015 4/31/2015
2 5/1/2015 8/31/2015
3 9/1/2015 12/31/2015
КОД Я пробовал:
private void contractDetails(List<PolicyPeriodFormulaType> policyPeriod){
for (PolicyPeriodFormulaType policyPeriodFormulaType : policyPeriod) {
Date effectiveDateFrom = policyPeriodFormulaType.getEffectivePeriod().getEffectiveFrom();
Date effectiveDateTo = policyPeriodFormulaType.getEffectivePeriod().getEffectiveTo();
Instant effectiveFrom = effectiveDateFrom.toInstant();
ZonedDateTime zdt = effectiveFrom.atZone(ZoneId.systemDefault());
LocalDate fromDate = zdt.toLocalDate();
Instant effectiveTo = effectiveDateTo.toInstant();
ZonedDateTime zdt1 = effectiveTo.atZone(ZoneId.systemDefault());
LocalDate toDate = zdt.toLocalDate();
int unit = policyPeriodFormulaType.getUnits();
String unitMeasurement = policyPeriodFormulaType.getUnitOfMeasurement();
Period p = Period.between(fromDate,toDate);
int months = p.getMonths();
int years = p.getYears();
if(unitMeasurement.equalsIgnoreCase("Month")){
months = months+(years*12);
}
int duration = months/unit; // 12/4 = 3
int i =0;
while(fromDate.isBefore(toDate)){
fromDate=fromDate;
toDate=fromDate.plusMonths(unit);
fromDate=toDate.plusMonths(unit);
}
}
}
@mikecat_mixc, вы можете сказать мне, пожалуйста, где я буду неправильно –
Что вы имеете в виду под «вы должны получить» таблицу вы говорите вы должны получить? Ваш код ничего не выводит, поэтому я не знаю, как вы планируете «получить» эту таблицу. Если вы просто говорите об этом значениях определенных переменных в определенных точках, вы не сказали нам **, которые ** переменные в **, которые ** указывают. – ajb
Я должен получить средства, ожидаемый результат должен быть таким, как над таблицей. –