Subtracting two dates

て烟熏妆下的殇ゞ 提交于 2019-12-18 11:41:31

问题


I have two calendars and each return a DateTime from calendar.SelectedDate.

How do I go about subtracting the two selected dates from each other, giving me the amount of days between the two selections?

There is a calendar.Subtract() but it needs a TimeSpan instead of DateTime.


回答1:


You can use someDateTime.Subtract(otherDateTime), this returns a TimeSpan which has a TotalDays property.




回答2:


Just use:

TimeSpan difference = end - start;
double days = difference.TotalDays;

Note that if you want to treat them as dates you should probably use

TimeSpan difference = end.Date - start.Date;
int days = (int) difference.TotalDays;

That way you won't get different results depending on the times.

(You can use the Subtract method instead of the - operator if you want, but personally I find it clearer to use the operator.)




回答3:


Think about it.
How do you express a difference betwen two dates? With another date?
That's why you need the TimeSpan

DateTime dtToday = new System.DateTime(2012, 6, 2, 0, 0, 0);
DateTime dtMonthBefore = new System.DateTime(2012, 5, 2, 0, 0, 0);
TimeSpan diffResult = dtToday.Subtract(dtMonthBefore);
Console.WriteLine(diffResult.TotalDays);


来源:https://stackoverflow.com/questions/10871755/subtracting-two-dates

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!