与野田时间的日期差异是否正确?

Date difference from Noda Time is correct?

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);

以上结果:
period.Years -> 1
period.Months -> 6
period.Days -> 4

如你所见,我从 Noda Time 图书馆得到的不同之处。
但是 https://www.easycalculation.com/date-day/age-calculator.php
我得到了不同的结果 上面link的结果:
1年6个月零1天

开始日期:2015 年 7 月 28 日
结束日期:2017 年 2 月 1 日

有人可以告诉我我从 noda 时间插件得到的结果比我提供的 link 更准确吗?

2015年7月28日2015年8月1日是4天,从2015年8月1日2017年2月1日整整一年半。

NodaTime 显示正确的信息。你也可以检查这个link

您可以尝试将 your link 日期从 2015 年 7 月 28 日 更改为 2015 年 7 月 29 日2015 年 7 月 30 日,您将看到无效输入。

"More accurate" 需要说明您希望如何计算差异。这里没有单一的正确答案。作为 documented,Noda Time 按元素工作。因此,如果将 2015 年 7 月 28 日加上 1 年 6 个月零 4 天,您将得到:

  • 增加 1 年:2016 年 7 月 28 日
  • 增加 6 个月:2017 年 1 月 28 日
  • 增加 4 天:2017 年 2 月 1 日

站点使用的代码是 available on the site itself。看起来这是一种更天真的方法。

特别是,如果你问 2017 年 1 月 31 日出生的人到 2017 年 2 月 1 日是几岁,他们会说他们是 -2 天。我觉得不对...