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

Posted

技术标签:

【中文标题】在 C# 中计算两个月历之间的时间段【英文标题】:calculate period between two monthcalender in C# 【发布时间】:2009-08-29 13:54:54 【问题描述】:

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

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

我需要两个不同年份之间的几个月。

当我使用时:

月历.selectstart.month;

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

几天都一样,我用:

monthcalender.selectstart.dayofyear;

【问题讨论】:

【参考方案1】:

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;

不过,这样一来月份的日子就不在等式了。

【讨论】:

以上是关于在 C# 中计算两个月历之间的时间段的主要内容,如果未能解决你的问题,请参考以下文章

C# 中的月历

如何使用c#从其他形式的菜单项中显示月历上的当前日期

c#如何计算两个日期之间相隔天数

C# 在 Linq 查询 WHERE 语句中返回两个纬度/经度坐标之间的计算距离

如何计算 C# 中两个字符串之间的相似度?

c#实现输出本月的月历