Так, например, если у меня есть следующий код:
var nodaStart = new LocalDate(2012, 5, 1);
var nodaEnd = new LocalDate(2012,5,2);
var daysBetween = Period.Between(nodaStart, nodaEnd,PeriodUnits.Day);
ЗатемdaysBetween.Days == 1
Однако диапазон, который я рассчитываю, должен учитывать это как 2 дня. т. е. он должен включать дату начала и окончания.
Фактический метод может принимать начальную и конечную даты (, отстоящие друг от друга не более чем на год ), и должен вычислять количество дней. Если дней больше 31, остаток возвращается как количество целых недель.
У меня эта логика работает нормально, но из-за эксклюзивного подсчета у меня один день.
Думаю, я могу просто выполнить startDate.addDays(-1)
до того, как создам из него nodaStart
, но мне интересно, есть ли более элегантный/красивый способ, чтобы нода возвращал период.
Спасибо
ОБНОВЛЕНИЕ :Я прочитал исходный код для класса Period
, и оператор +
перегружен, поэтому я могу добавить
daysBetween += Period.FromDays(1);