假设月份中的一天是不相关的(即2011.1.1和2010.12.31之间的差异为1),则date1> date2给出正值,而date2>
date1给出负值。
((date1.Year - date2.Year) * 12) + date1.Month - date2.Month
或者,假设您希望在两个日期之间获得大约“平均月”数,则以下内容应适用于所有日期差异,但差异非常大。
date1.Subtract(date2).Days / (365.25 / 12)
注意,如果要使用后一种解决方案,则单元测试应说明应用程序设计用于的最宽日期范围,并相应地验证计算结果。
更新(感谢 Gary)
如果使用“平均月份”方法,则“每年平均天数”所用的精确度稍高一些是365.2425。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)