DateTime dtStart = new DateTime(2015,7,28);
LocalDate ldtStart = LocalDate.FromDateTime(dtStart);
DateTime dtEnd = new DateTime(2017, 2, 1);
LocalDate ldtEnd = LocalDate.FromDateTime(dtEnd);
Period period = Period.Between(ldtStart, ldtEnd, PeriodUnits.YearMonthDay);
以上结果:
年份-> 1
月-> 6
天-> 4
如您所见,我从Noda Time库获得的区别。
但是我得到https://www.easycalculation.com/date-day/age-calculator.php的不同结果
以上链接的结果:
1年6个月零1天
开始日期:2015年7月28日
结束日期:2017年2月1日
有人可以告诉我,我从noda时间插件获得的结果比我提供的链接更准确吗?
最佳答案
“更准确”要求您详细说明如何计算差异。这里没有一个正确的答案。作为documented,Noda Time在元素方面起作用。因此,如果您在2015年7月28日前加上1年零6个月零4天,则会得到:
加一年:2016年7月28日
添加6个月:2017年1月28日
增加4天:2017年2月1日
该站点使用的代码是available on the site itself。看来这是一种比较幼稚的方法。
特别是,如果您询问在2017年1月31日出生的人在2017年2月1日的年龄,他们会说他们的年龄为-2天。我认为那是不对的...
关于c# - 与野田时间的日期差是正确的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44039216/