gpt4 book ai didi

c# - 使用 LINQ 扩展日期范围

转载 作者:太空狗 更新时间:2023-10-30 00:58:32 25 4
gpt4 key购买 nike

如果我有一对日期,并且我想生成它们之间所有日期的列表(包括),我可以这样做:

System.DateTime s = new System.DateTime(2010, 06, 05);
System.DateTime e = new System.DateTime(2010, 06, 09);
var list = Enumerable.Range(0, (e - s).Days)
.Select(value => s.AddDays(value));

我坚持的是,我有一个日期对的列表,我想将它们展开成一个包含它们之间所有日期的列表。示例:

{2010-05-06, 2010-05-09}, {2010-05-12, 2010-05-15}

应该导致

{2010-05-06, 2010-05-07, 2010-05-08, 2010-05-09, 2010-05-12, 2010-05-13, 2010-05-14, 2010-05-15}

请注意,日期对保证不会相互重叠。

最佳答案

var result = listOfPairs.SelectMany(pair =>
Enumerable.Range(0, (pair.Item2 - pair.Item1).TotalDays)
.Select(days => pair.Item1.AddDays(days)));

关于c# - 使用 LINQ 扩展日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2655088/

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