我试图做的是计算两个日期之间的年,月和日的数量。 不幸的是,.NET框架没有可以做到这一点的方法。错误地计算两个日期之间的年/月/日
我所做的基本上是以下几点: http://www.codeproject.com/Articles/28837/Calculating-Duration-Between-Two-Dates-in-Years-Mo
从的评论数改编说网站:
var monthDay = new[] { 31, 31, -1, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
DayCalculation:
if (fromDate.Day > toDate.Day)
{
increment = monthDay[toDate.Month - 1];
}
if (increment == -1)
{
increment = DateTime.IsLeapYear(toDate.Year) ? 29 : 28;
}
所以,我有以下作用:
日期1:1979年1月30日
日期2:2013-03-01
,输出是:34岁1个月,-1
日预期的输出是:34年,1个月,1天
这种效应每次都会发生,Date2是3月的日期。
你知道这个计算有什么问题吗? 或者你知道更好的解决方案如何实现预期的效果?
在此先感谢
PS:我知道,你可以计算两个日期之间的天量,但我需要的是成品多年的量,成品几个月的量和成品天量
我刚用诺达时间测试了我的测试箱,它的功能就像一个魅力!非常感谢你,没有意识到这个伟大的框架:-) – user3092518
嘿乔恩我没有发现任何关于诺达时间在您的网站上的授权......是一个允许在商业项目中使用野田时间或在那里任何限制?在此先感谢 – user3092518
@ user3092518:它位于Apache许可证下 - 在网站上搜索“许可证”以获取许可证详细信息的链接。 –