c# 怎么判断一个时间区间在另一个时间区间?

如我现在list下添加了4个时间区间:8:00-12:0013:00-16:0017:30-20:00,20:00-2:00,2:00-3:00现在我需要新增一个区间:9... 如我现在list下添加了4个时间区间:8:00-12:00 13:00-16:00 17:30-20:00,20:00-2:00,2:00-3:00
现在我需要新增一个区间:9:00-12:30 但是这个时间区间在8:00-12:00中已经存在,则不允许添加。同样如果我想添加22:00-1:00,这个区间在20:00-2:00,同样也是不能添加,该怎么处理
展开
 我来答
zzli614
2019-12-09 · 超过10用户采纳过TA的回答
知道答主
回答量:61
采纳率:60%
帮助的人:12.1万
展开全部
list<string> time=new list<string>
time[0]=8:00-12:00
time[1]=13:00-16:00
time[2]=17:30-20:00
time[3]=20:00-2:00
分别得到每个时间段的开始时间和结束时间
string t0S= time[0].Split ('-')[0];//得到time[0]的开始时间
string t0E= time[0].Split ('-')[1];//得到time[0]的结束时间
以此类推
string t1S= time[1].Split ('-')[0];
string t1E= time[1].Split ('-')[1];
string t2S= time[2].Split ('-')[0];
string t2E= time[2].Split ('-')[1];
string t3S= time[3].Split ('-')[0];
string t3E= time[3].Split ('-')[1];
然后把字符串转为时间格式
TimeSpan St0 = DateTime.Parse(t0S).TimeOfDay;
TimeSpan St1 = DateTime.Parse(t1S).TimeOfDay;
TimeSpan St2 = DateTime.Parse(t2S).TimeOfDay;
TimeSpan St3 = DateTime.Parse(t3S).TimeOfDay;
TimeSpan Et0 = DateTime.Parse(t0E).TimeOfDay;
TimeSpan Et1 = DateTime.Parse(t1E).TimeOfDay;
TimeSpan Et2 = DateTime.Parse(t2E).TimeOfDay;
TimeSpan Et3 = DateTime.Parse(t3E).TimeOfDay;
新增时区的开始时间 NewS="9:00"
新增时区的结束时间 NewE="12:30"
TimeSpan NewSt = DateTime.Parse(NewS).TimeOfDay;
TimeSpan NewEt = DateTime.Parse(NewE).TimeOfDay;
然后判断 新增时区的开始时间 是不是比 每个list的开始时间大和 新增时区的结束时间 是不是比 每个list的结束时间小
if((NewSt>=St0||NewSt>=St1NewSt>=St2NewSt>=St3)&&(NewEt<=Et0||NewEt<=Et1||NewEt<=Et2||NewEt<=Et3))
{
MessageBox ("老时间段已包含新增时间段")
}
else
{
....................
}
匿名用户
2019-12-05
展开全部
判断新增的区间最大值不在已有区间内,且最小值也不在已有区间内就可以添加就行了啊
追问
说是怎么说,我尝试过了,按照逻辑来写,不对啊,有具体代码么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cs1250947732
2019-12-09 · TA获得超过489个赞
知道小有建树答主
回答量:970
采纳率:55%
帮助的人:227万
展开全部
修改最新添加的时间区间
把 8:00-12:00 改成8:00-12:30,则2个都包含了,剩下也是
追问
这个本来就是智能判断是否在区间,上面时间只是举例,意思是不能在上面时间区间。。。你这还修改了。。。。
追答
那得看你list存的格式,然后if判断不就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式