计算C#中两个月日历之间的时间段

时间:2009-08-29 13:54:54

标签: c# .net monthcalendar

我在C#win应用程序中有两个月的日历,我需要计算从那时起的时间段。

我需要两到三个月或几年之间的多少天

我需要两年之间多少个月。

当我使用时:

monthcalender.selectstart.month;

这个命令只计算同年的月份之间的差异,但是当移动到明年时,该值为负。

并且几天相同,我使用:

monthcalender.selectstart.dayofyear;

1 个答案:

答案 0 :(得分:4)

monthcalendar.SelectionStart是一个DateTime结构,您可以使用它进行计算。减去两个日期将产生TimeSpan结构,该结构具有应该对您有用的各种属性。

TimeSpan timeBetween = calendar1.SelectionStart - calendar2.SelectionStart;
MessageBox.Show("Days between dates: " + timeBetween.TotalDays);

如果您想使用DateTime的Month属性,可以执行以下操作:

DateTime d1 = calendar1.SelectionStart;
DateTime d2 = calendar2.SelectionStart;
ints monthsBetween = d1.Month + d1.Year * 12 - d2.Month - d2.Year * 12;

这会让这个月的日子不合时宜。