gpt4 book ai didi

c# - 将月差添加到新日期

转载 作者:太空宇宙 更新时间:2023-11-03 21:04:19 25 4
gpt4 key购买 nike

对于一个应用程序,我需要对日期进行一些计算。我找到了如何获得两个日期之间的月份差异,但不知道如何将这些月份添加到另一个日期。

计算月差的函数:

public static decimal GetMonthsInRange(DateTime start, DateTime finish)
{
var monthsApart =
Math.Abs(12 * (start.Year - finish.Year) + start.Month - finish.Month) - 1;

decimal daysInStartMonth = DateTime.DaysInMonth(start.Year, start.Month);
decimal daysInFinishMonth = DateTime.DaysInMonth(finish.Year, finish.Month);

var daysApartInStartMonth = (daysInStartMonth - start.Day + 1) / daysInStartMonth;
var daysApartInFinishMonth = finish.Day / daysInFinishMonth;

return monthsApart + daysApartInStartMonth + daysApartInFinishMonth;
}

示例:

我得到的月数相差 4.5 个月,我需要将其添加到另一个日期。但是 DateTime.AddMonths 函数只接受整数。

我该怎么做?

谢谢,纳努

最佳答案

显然,如果您想将此差异添加到某些 DateTime,您不应该计算月份差异,因为此差异可能会更加令人困惑,比如 4.33 个月或类似的东西。

相反 - 只需计算天数差异(在您的具体示例中它将是 (finish - start).TotalDays)并使用 AddDays

关于c# - 将月差添加到新日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42269995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com