如何在 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();
我接到了一项获取未来日期的任务。我的意思是,如果今天是 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();