如何在 C# 中获取 12 个月后的日期

How to get date after 12 months in c#

我接到了一项获取未来日期的任务。我的意思是,如果今天是 1/1/2016(2016 年 1 月 1 日),当我向它添加 12 个月时,如果我喜欢这段代码,它通常会给出 1/1/2017

dateTimeObj="1/1/2016"
string futureDate=dateTimeObj.AddMonth(12);

现在这个未来日期将使用此代码给出 1/1/2017 但我被要求在我们添加 12 个月时得到它必须给出 12/31/2016(2016 年 12 月 31 日)(不是 1/1/2017)

如何实现?是否有任何内置函数可以执行此操作,如果没有,那么如何以编程方式执行此操作?

注意:我正在编写的软件是用于帐户的,他们只需要这样的日期。

我觉得没有什么特别之处。就是这样:

date.AddMonths(12).AddDays(-1);

此致

我认为你应该这样做

dateTimeObj.AddYears(1).AddDays(-1);

今天加上 12 个月,预期结果是明年的同一天。所以你要做的就是从中减去一天的时间跨度。您可以在评论中尝试上述方法,也可以按照此操作。

这是 2016 年 12 月 31 日的预期结果

var dateTimeString = "1/1/2016";
DateTime dateTimeObj = DateTime.Parse(dateTimeString);
DateTime futureDate = dateTimeObj.AddMonths(12).Subtract(TimeSpan.FromDays(1));
Console.WriteLine(futureDate.ToString("MM/dd/yyyy"));
Console.ReadLine();