Так, например, если у меня есть следующий код:использование NodaTime для расчета включительно дней период
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
, но мне интересно, есть ли более элегантный/прекрасный способ вернуть Нода Период.
Благодаря
UPDATE: У меня было чтение из the source code для Period
класса и оператор +
перегружен, поэтому я могу добавить
daysBetween += Period.FromDays(1);
Работы для Jon тарелочек –
Если вы что, скорее всего, вы должны сделать endDate.AddDays (1). 2012/05/02 - 2012/05/02 00:00 - то есть утром 2-го. Вы хотите ночь второго, так что добавьте день до конца, а не вычитайте день с самого начала. –