我有一项任务是为了获得未来的约会。我的意思是,如果今天是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} })
如何实现这一目标?是否有任何内置函数可以执行此操作,如果没有,那么如何以编程方式执行此操作?
注意:我编码的软件用于帐户,他们只需要这样的日期。
答案 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();