如何从 c# windows 中的月日历控件中查找两个选定日期之间的月数?
How to find Number of months between two selected dates from month Calendar control in c# windows?
如何在 c# windows 中从月日历控件中查找两个选定日期之间的月数?
比我想用该数据填充文本框 'Total Month'。
我在下面附上了屏幕截图。
[![Windows Form][1]][1]
你的问题有点含糊,所以如果答案对你的需求来说有点不准确,请不要感到惊讶。
在获得两个日期之间的月数之前,您的第一个挑战是您需要获得两个日期作为起始日期。
在 C# Winforms 应用程序中,您可以双击日历控件,以便 Visual Studio 生成 onDateChanged 事件处理程序。
双击您的每个日历控件和类似的内容:
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 方法的访问,但如果您愿意,可以编写这样的扩展方法。
各种 Whosebug 页面处理给定日期时间之间总月数的计算。
使用上面的代码获取您的两个日期,然后使用以下页面上的代码执行计算。
How can I calculate the numbers of month between two dates in C#
calculating the difference in months between two dates
我特别喜欢这个解决方案:
public static int MonthDifference(this DateTime lValue, DateTime rValue)
{
return Math.Abs((lValue.Month - rValue.Month) + 12 * (lValue.Year - rValue.Year));
}
您应该能够执行
int totalMonths = date1.MonthDifference(date2);
[![Windows Form][1]][1]
你的问题有点含糊,所以如果答案对你的需求来说有点不准确,请不要感到惊讶。
在获得两个日期之间的月数之前,您的第一个挑战是您需要获得两个日期作为起始日期。
在 C# Winforms 应用程序中,您可以双击日历控件,以便 Visual Studio 生成 onDateChanged 事件处理程序。
双击您的每个日历控件和类似的内容:
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 方法的访问,但如果您愿意,可以编写这样的扩展方法。
各种 Whosebug 页面处理给定日期时间之间总月数的计算。 使用上面的代码获取您的两个日期,然后使用以下页面上的代码执行计算。
How can I calculate the numbers of month between two dates in C#
calculating the difference in months between two dates
我特别喜欢这个解决方案:
public static int MonthDifference(this DateTime lValue, DateTime rValue)
{
return Math.Abs((lValue.Month - rValue.Month) + 12 * (lValue.Year - rValue.Year));
}
您应该能够执行
int totalMonths = date1.MonthDifference(date2);