例如,如果我有以下代码:
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天,则返回余数作为整周数量。
我的逻辑运行正常,但由于计数是排他性的,所以我少了一天。
我想我可以在创建nodaStart
之前做startDate.addDays(-1)
,但我想知道是否有更优雅/更漂亮的方式让noda返回Period。
谢谢
更新:
我已经阅读了Period
类的源代码,+
操作符被重载,因此我可以添加。
daysBetween += Period.FromDays(1);