使用C#的日期差异
这个问题在这里已经有了答案:
我已经编写了一个实现,它能够正确使用相隔一年的日期。
但是,与其他算法不同,它不会优雅地处理负时间片。 它也不使用自己的日期算法,而是依赖于标准库。
所以不要紧张,这里是代码:
DateTime zeroTime = new DateTime(1, 1, 1);
DateTime a = new DateTime(2007, 1, 1);
DateTime b = new DateTime(2008, 1, 1);
TimeSpan span = b - a;
// Because we start at year 1 for the Gregorian
// calendar, we must subtract a year here.
int years = (zeroTime + span).Year - 1;
// 1, where my other algorithm resulted in 0.
Console.WriteLine("Yrs elapsed: " + years);
使用:
int Years(DateTime start, DateTime end)
{
return (end.Year - start.Year - 1) +
(((end.Month > start.Month) ||
((end.Month == start.Month) && (end.Day >= start.Day))) ? 1 : 0);
}
我们必须编写一张支票来确定两个日期之间的差异,开始日期和结束日期是否大于2年。
感谢上面的提示,它的完成如下:
DateTime StartDate = Convert.ToDateTime("01/01/2012");
DateTime EndDate = Convert.ToDateTime("01/01/2014");
DateTime TwoYears = StartDate.AddYears(2);
if EndDate > TwoYears .....
链接地址: http://www.djcxy.com/p/54345.html
上一篇: Date difference in years using C#
下一篇: How do I get the number of days between two dates in JavaScript?