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

本文关键字:于月份 日期 之间 两个月 | 更新日期: 2023-09-27 18:01:36

我目前使用下面的代码来查找两个日期之间的月差。

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个月。

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

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

在本例中,将日期之间的月数定义为包括开始日期和结束日期的月份。所以在2015/1/1和2015/1/1之间的月数是1。你确定这是你想要的行为吗?

为了完成您描述的行为,只需将+ 1添加到您的任务末尾。

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