How to find Number of months between two selected dates from month Calendar control in c# windows?
如何在c_windows中从月历控件中查找两个选定日期之间的月数?我不想用这些数据填充文本框'total month'。我把截图贴在下面。
1 | [![Windows Form][1]][1] |
你的问题有点含糊,所以如果答案有点符合你的需要,不要惊讶。
你在这里的第一个挑战是,在你得到两个日期之间的月数之前,你需要从两个日期开始。
在C WinForms应用程序中,可以双击日历控件,以便Visual Studio生成OnDateChanged事件处理程序。
对每个日历控件执行双击,如下所示:
1 2 3 4 5 6 7 8 9 10 11 | private DateTime startDate; private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { startDate = dateTimePicker1.Value; } private DateTime endDate; private void dateTimePicker2_ValueChanged(object sender, EventArgs e) { endDate = dateTimePicker2.Value; } |
现在,一旦你有了两个日期,复杂的部分就会出现在两个点之间的月的实际计算中。简单的TimeSpan对象不提供对totalMonths方法的访问,但是,如果您愿意,可以编写这样的扩展方法。
各种StackOverflow页面处理给定日期时间之间的总月份计算。使用上面的代码获取两个日期,然后使用下面几页上的代码执行计算。
我怎样用C语言计算两个日期之间的月份数#
计算两个日期之间的月份差异
我特别喜欢这个解决方案:
1 2 3 4 | public static int MonthDifference(this DateTime lValue, DateTime rValue) { return Math.Abs((lValue.Month - rValue.Month) + 12 * (lValue.Year - rValue.Year)); } |
你应该能表演
1 | int totalMonths = date1.MonthDifference(date2); |