gpt4 book ai didi

c# - 将日期范围拆分为多个范围?

转载 作者:太空宇宙 更新时间:2023-11-03 19:12:24 26 4
gpt4 key购买 nike

我有一个开始日期和一个结束日期(采用 sql server 日期时间格式)。我想把它分成几个范围,即几对开始和结束日期值。 注意 - 我有 .NET 3.5 和 Visual Studio 2008。

例如。 S = 2005。E = 2010, block 大小 = 1 年。巴黎生成 = 2005-06、06-07、07-08、08-2010

block 可以是任意天数/月数。我将代码放在 SO post 中,在我的主要方法之后,我得到了一些错误。发布 - Split date range into date range chunks

代码-

public static IEnumerable<Tuple<DateTime, DateTime>> SplitDateRange(DateTime start, DateTime end, int dayChunkSize)
{
DateTime chunkEnd;
while ((chunkEnd = start.AddDays(dayChunkSize)) < end)
{
yield return Tuple.Create(start, chunkEnd);
start = chunkEnd;
}
yield return Tuple.Create(start, end);
}

我得到两个错误:

The body of 'CodeHere.csproj.ScriptMain.SplitDateRange(System.DateTime, System.DateTime, int)' cannot be an iterator block because 'IEnumerable

和:

The name 'Tuple' does not exist in the current context

最佳答案

您正在尝试使用 System.Tuple<T1, T2> ,仅在 .NET 4 中引入。您使用的是 .NET 3.5,因此该结构不可用。我建议您创建自己的 DateRange封装开始和结束的类型 DateTime , 然后返回 IEnumerable<DateRange>相反。

或者升级到 .NET 4 或 4.5...

关于c# - 将日期范围拆分为多个范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669362/

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