使用NodaTime计算包容天例如我有如下代码:varnodaStart=newLocalDate(2012,5,1);varnodaEnd=newLocalDate(2012,5,2);vardaysBetween=Period.Between(nodaStart,nodaEnd,PeriodUnits.Day);然后daysBetween.Days==1但是,我计算的范围需要计算为2天。即它需要包括开始日期和结束日期。实际方法可能需要一个开始和结束日期(相隔不超过一年)并且需要计算天数。如果超过31天,剩余数量将返回整周。我的逻辑运行良好,但由于计数是排他性的,所以有一天我出去了。我想我可以在创建nodaStart之前执行startDate.addDays(-1),但我想知道是否有更优雅/漂亮的方式让noda返回句点。谢谢更新:我已经阅读了Period类的源代码并且+运算符已重载,因此我可以添加daysBetween+=Period.FromDays(1);(抱歉,我花了这么长时间才回答这个问题——我以前没见过这个。)Any:应该没问题。我认为NodaTime不会改变这一点。Between是减法运算符的“模糊周围单元”版本-你不会找到很多2-1是2的减法运算符。对于“模糊”的头脑,我们可能会考虑一段时间包括开始日期和结束日期,如果它标识了天、周、月等(看整数倍数),那么你可以编码:上面是C#学习教程:使用NodaTime计算包括天数分享的所有内容。如果对你有用,需要了解更多C#学习教程,希望大家多多关注——varstart=newNodaTime.LocalDateTime(s.Year,s.Month,s.Day,s.Hour,s。分钟);varend=newNodaTime.LocalDateTime(e.Year,e.Month,e.Day,e.Hour,e.Minute);NodaTime.PeriodperiodInclusive=NodaTime.Period.Between(start,end.PlusDays(1),NodaTime.PeriodUnits.AllDateUnits);NodaTime.Periodperiod=NodaTime.Period.Between(开始,结束,NodaTime.PeriodUnits.AllDateUnits);boolisInclusivePeriod=periodInclusive.Days+periodInclusive.Weeks+periodInclusive.Months+periodInclusive.Years本文整理自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
