我在C#win应用程序中有两个月的日历,我需要计算从那时起的时间段。
我需要两到三个月或几年之间的多少天
我需要两年之间多少个月。
当我使用时:
monthcalender.selectstart.month;
这个命令只计算同年的月份之间的差异,但是当移动到明年时,该值为负。
并且几天相同,我使用:
monthcalender.selectstart.dayofyear;
答案 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;
这会让这个月的日子不合时宜。