码迷,mamicode.com
首页 > Windows程序 > 详细

c# 时间区间求并集

时间:2021-04-21 11:56:30      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:foreach   for   时间戳   add   合并   count()   lis   nio   小数   

var list={};//有时间的集合   createtime  endtime  时间戳   int 单位 精确到秒

var ranges = new List<IEnumerable<int>>();

list.ForEach(s =>
ranges.Add( Enumerable.Range(s.createtime, s.endtime- s.createtime)));// 第一个参数:开始时间 第二个参数:时间间隔

var unionOfRanges = Enumerable.Empty<int>();
//时间戳取并集 精确秒 合并重复时间戳
foreach (var range in ranges)
{
unionOfRanges = unionOfRanges.Union(range);
}

//返回小时 保留2位小数
return Math.Round((timeEnd - timeStart- unionOfRanges.LongCount()) / 3600d, 2);

c# 时间区间求并集

标签:foreach   for   时间戳   add   合并   count()   lis   nio   小数   

原文地址:https://www.cnblogs.com/youngharvard/p/14676328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!