EndDate 问题 - 一年中的最后一个月
EndDate Issue - Last Month of Year
我有一个 .netapp 应用程序 (C#),用于从 API.
中提取数据
它现在遇到了一个问题,因为我们 运行 将它命名为 2017 年 12 月..但我们希望它命名为 2018 年 1 月。(嗯 01/01/2018)
我认为他们按照我们编写的方式表示它正在寻找显然不存在的 13/2017。
任何人都可以建议如何修改此问题,以便我们现在可以 运行 以及如何确保明年 12 月我们不会 运行 再次陷入此问题?
public override string ToString()
{
var reportDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month + 1, 1);
if (!String.IsNullOrWhiteSpace(AppConfigHelper.EndDate))
{
var year = Int32.Parse(AppConfigHelper.EndDate.Substring(6, 4));
var month = Int32.Parse(AppConfigHelper.EndDate.Substring(3, 2));
var day = Int32.Parse(AppConfigHelper.EndDate.Substring(0, 2));
reportDate = new DateTime(year, month, day);
reportDate = reportDate.AddDays(1);
}
您可以使用 DateTime.Today.AddMonths(1)
:
var nextMonth = DateTime.Today.AddMonths(1);
reportDate = new DateTme(nextMonth.Year, nextMonth.Month, 1);
// ...
顺便说一下,您不需要字符串方法和 int.Parse
来获取 DateTime
,使用 ParseExact
:
if (!String.IsNullOrWhiteSpace(AppConfigHelper.EndDate))
{
reportDate = DateTime.ParseExact(AppConfigHelper.EndDate, "ddMMyyyy", null);
reportDate = reportDate.AddDays(1);
}
我有一个 .netapp 应用程序 (C#),用于从 API.
中提取数据它现在遇到了一个问题,因为我们 运行 将它命名为 2017 年 12 月..但我们希望它命名为 2018 年 1 月。(嗯 01/01/2018)
我认为他们按照我们编写的方式表示它正在寻找显然不存在的 13/2017。
任何人都可以建议如何修改此问题,以便我们现在可以 运行 以及如何确保明年 12 月我们不会 运行 再次陷入此问题?
public override string ToString()
{
var reportDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month + 1, 1);
if (!String.IsNullOrWhiteSpace(AppConfigHelper.EndDate))
{
var year = Int32.Parse(AppConfigHelper.EndDate.Substring(6, 4));
var month = Int32.Parse(AppConfigHelper.EndDate.Substring(3, 2));
var day = Int32.Parse(AppConfigHelper.EndDate.Substring(0, 2));
reportDate = new DateTime(year, month, day);
reportDate = reportDate.AddDays(1);
}
您可以使用 DateTime.Today.AddMonths(1)
:
var nextMonth = DateTime.Today.AddMonths(1);
reportDate = new DateTme(nextMonth.Year, nextMonth.Month, 1);
// ...
顺便说一下,您不需要字符串方法和 int.Parse
来获取 DateTime
,使用 ParseExact
:
if (!String.IsNullOrWhiteSpace(AppConfigHelper.EndDate))
{
reportDate = DateTime.ParseExact(AppConfigHelper.EndDate, "ddMMyyyy", null);
reportDate = reportDate.AddDays(1);
}