Ste*_*eam 1 .net c# datetime date-range
我有一个开始日期和结束日期(以sql server datetime格式).我想将它分成几个范围,即几对开始和结束日期值.注 - 我有.NET 3.5和Visual Studio 2008.
例如.S = 2005. E = 2010,块大小= 1年.巴黎产生= 2005-06,06-07,07-08,08-2010
块可以是任何天数/月.我把代码放在SO帖子中,在我的主要方法之后,我得到了一些错误.Post - 将日期范围分成日期范围块
代码 -
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);
}
Run Code Online (Sandbox Code Playgroud)
我收到两个错误:
'CodeHere.csproj.ScriptMain.SplitDateRange(System.DateTime,System.DateTime,int)'的主体不能是迭代器块,因为'IEnumerable
和:
"元组"这个名称在当前上下文中不存在
您正在尝试使用System.Tuple<T1, T2>,这只是在.NET 4中引入的.您使用的是.NET 3.5,因此该结构不可用.我建议你创建自己的DateRange类型,封装一个开始和结束DateTime,然后返回一个IEnumerable<DateRange>.
要么,要么升级到.NET 4或4.5 ......
| 归档时间: |
|
| 查看次数: |
3780 次 |
| 最近记录: |