gpt4 book ai didi

c# - 如何在两个日期之间循环

转载 作者:IT王子 更新时间:2023-10-29 04:41:24 25 4
gpt4 key购买 nike

我有一个日历,它将选定的日期作为字符串传递给一个方法。在这个方法中,我想生成一个列表,其中包含从选定的开始日期开始到选定的结束日期结束的所有日期,显然包括中间的所有日期,而不管选定的开始日期和结束日期之间有多少天。

下面是获取日期字符串并将其转换为 DateTime 变量的方法的开头,以便我可以使用 DateTime 计算函数。但是,我似乎无法弄清楚如何计算开始日期和结束日期之间的所有日期?显然第一阶段是从结束日期减去开始日期,但我无法计算其余步骤。

帮助非常感谢,

亲切的问候。

public void DTCalculations()
{
List<string> calculatedDates = new List<string>();
string startDate = "2009-07-27";
string endDate = "2009-07-29";

//Convert to DateTime variables
DateTime start = DateTime.Parse(startDate);
DateTime end = DateTime.Parse(endDate);

//Calculate difference between start and end date.
TimeSpan difference = end.Subtract(start);

//Generate list of dates beginning at start date and ending at end date.
//ToDo:
}

最佳答案

static IEnumerable<DateTime> AllDatesBetween(DateTime start, DateTime end)
{
for(var day = start.Date; day <= end; day = day.AddDays(1))
yield return day;
}

编辑:添加代码来解决您的特定示例并演示用法:

var calculatedDates = 
new List<string>
(
AllDatesBetween
(
DateTime.Parse("2009-07-27"),
DateTime.Parse("2009-07-29")
).Select(d => d.ToString("yyyy-MM-dd"))
);

关于c# - 如何在两个日期之间循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1199108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com