/// <summary>
/// 截取时间范围内的时间段
/// </summary>
public static List<SJDuan> GetBetween(this SortedList<DateTime, SJDuan> duans, DateTime begin, DateTime end)
{
DebugHelper.Start("GetBetween"); // 用于时间统计
var rslt = new List<SJDuan>();
if (end > begin)
{
var first = duans.Keys.GetFirstIndexBefore(begin);
if (first == null)
{
first = 0;
}
var last = duans.Keys.GetFirstIndexAfter(end);
if (last == null)
{
last = duans.Count - 1;
}
else
{
last = last - 1;
}
for (int i = first.Value; i <= last; i++)
{
var duan = duans.Values[i];
if (duan.end > begin && duan.begin < end)
{
var dbegin = duan.begin > begin ? duan.begin : begin;
var dend = duan.end < end ? duan.end : end;
rslt.Add(new SJDuan(dbegin, dend));
}
}
}
DebugHelper.Stop("GetBetween");
return rslt;
} 热门文章更多>>
标签更多>>
专题更多>>
最新文章更多>>
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
- 使用 C# 6.0 功能运行 TFS 构建
瘾23398617