Если я знаю, что для semi-monthly payment frequency
, я всегда должен использовать 1st
и 16th
каждого месяца, учитывая первую дату, как мне увеличить его?
Это то, что у меня есть до сих пор:
...
while(cnt.getAndIncrement() <= pmtNumber ) {
monthdate = incrementDateUsingPaymentFrequency(LocalDate.of(2018, 2, 1), PaymentFrequencyCodeEnum.SEMIMONTHLY);
//do something with this incremented month
}
...
public static LocalDate incrementDateUsingPaymentFrequency(LocalDate monthDate, PaymentFrequency paymentFrequency){
LocalDate incrementedDate = null;
if(paymentFrequency == PaymentFrequency.SEMIMONTHLY){
incrementedDate = monthDate.plusDays(monthDate.getDayOfMonth() == 1 ? 16 : 0);
}
return incrementedDate;
}
Результат, которого я ожидаю:
02/01/2018
02/16/2018
03/01/2018
03/16/2018
04/01/2018
04/16/2018
...