计算两个日期之间的日历月数

Kir*_*ran 1 c# datetime timespan date

我正在用C#开发一个兴趣计算器.我需要知道2之间的天数dates

所以,我正在计算这样的事情:

    DateTime dt1 = DateTime.ParseExact(DateTime.Now.Date.ToString("dd-MM-yy"), "dd-MM-yy", CultureInfo.InvariantCulture).Date;
    DateTime dt2 = DateTime.ParseExact(Duration, "dd-MM-yy", CultureInfo.InvariantCulture).Date;

    Double no_days = (dt1 - dt2).TotalDays;
Run Code Online (Sandbox Code Playgroud)

但是,根据月份,天数会有所不同.因此,即使天数少于30天,2月15日至3月15日构成一个月.

任何想法我如何确定过去的月数?利息计算在月末持续时间内完成.

谢谢

Dam*_*ver 8

我想不出比这更清洁的方式:

((dt1.Year - dt2.Year) * 12) + (dt1.Month - dt2.Month) - (dt1.Day < dt2.Day?1:0);
Run Code Online (Sandbox Code Playgroud)

即便如此,我也不确定我是否可能错过了一些边缘案例.