如何在c#12个月后获取日期

时间:2016-04-14 15:32:58

标签: c# date datetime datetime-format

我有一项任务是为了获得未来的约会。我的意思是,如果今天是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} })

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

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

3 个答案:

答案 0 :(得分:5)

我认为你应该这样做

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

答案 1 :(得分:3)

我认为没有特别的功能。就像这样:

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

最好的问候

答案 2 :(得分:1)

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

这是预期结果为12-31-2016

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();