两个月之间的差异 - 仅基于月份而非日期

时间:2015-07-08 20:42:19

标签: c# date

我目前正在使用以下代码查找两个日期之间的月份差异。

var WatMonths = ((WatInjEndDate.Year - WaterStartDate.Year) * 12) + WatInjEndDate.Month - WaterStartDate.Month

例如:

WaterStartDate = 9/28/2015
WaterInjEndDate = 12/4/2015

我从上面的代码得到的答案是3.但我的最终要求是得到" 4"这描绘了9,10,11,12个月,因为WaterStartDate是在第9个月,而Enddate是在第12个月。

我应该在代码中修改什么?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您将日期之间的月数定义为包括开始日期和结束日期。因此,2015/1/1和2015/1/1之间的月数为1.您确定这是您想要的行为吗?

为了完成您描述的行为,只需在作业结束时添加+ 1即可。

var WatMonths = ((WatInjEndDate.Year - WaterStartDate.Year) * 12) + 
                    WatInjEndDate.Month - WaterStartDate.Month + 1