为了账号安全,请及时绑定邮箱和手机立即绑定

两个日期之间以月为单位的差额

两个日期之间以月为单位的差额

繁星淼淼 2019-07-09 10:29:39
两个日期之间以月为单位的差额如何计算C#中两个日期之间的月差?是否有相当于VB的DateDiff()方法在C#中。我需要找出两个相隔数年的日期在几个月内的差异。文件上说我可以用TimeSpan比如:TimeSpan ts = date1 - date2;但这给了我几天的数据。我不想把这个数字除以30因为不是每个月都是30天,而且这两个操作数相差很远,我担心除以30可能会给我一个错误的值。有什么建议吗?
查看完整描述

3 回答

?
MM们

TA贡献1886条经验 获得超2个赞

假设月份中的某一天无关紧要(即2011.1.1至2010.12.31之间的差值为1),其中Date1>Date 2为正值,Date 2>Date 1为负值。

((date1.Year - date2.Year) * 12) + date1.Month - date2.Month

或者,假设您想要两个日期之间的“平均月数”,下面的内容应该适用于除非常大的日期差异之外的所有日期。

date1.Subtract(date2).Days / (365.25 / 12)

注意,如果要使用后一种解决方案,那么单元测试应该说明应用程序设计使用的最宽的日期范围,并相应地验证计算结果。


如果使用“平均月”方法,则对于“每年平均天数”而言,要使用稍微准确的数字。365.2425.


查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 870 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信