两个时间段,获取重复的部分。 如题又重复的部分返回重复的时间段,没有则false 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DateTime end = System.DateTime.Now.AddMonths(1); DateTime star1 = System.DateTime.Now; DateTime end2 = System.DateTime.Now.AddMonths(1).AddDays(2); DateTime star2 = System.DateTime.Now;得到他们重叠的时间段 楼主 你的意思是start1~start2 是一个时间段end1~end2是一个时间段 这两个时间段有没有重叠的时间段对吗 如果是这样 那永远都是true你的重叠按你给出程序的代码 你的重叠时间一直都是 DateTime star1 = System.DateTime.Now; DateTime end2 = System.DateTime.Now.AddMonths(1).AddDays(2);重叠时间就是 star1到end2 这是一道面试题,原题是:分别给定两个时间段的开始时刻与截止时间,Tstar1,Tend1,以级Tstart2,Tend2。要求判断两个时间段是否有公共重叠的部分,如果有则返回公共重叠部分时间段的长度,如果没有则返回两个时间段之间的时间间隔长度。 给个思路吧 获取一个时间段对吧 那么一定有起始时间和结束时间 假设t1和t2那么另一个时间段也是一样的 假设T1和T21.比较t2和T2的大小 假设T2更大2.判断T1是否大于t1并小于t2 如果是就说明包含了 而且包含的时间段就是t2到T1 DateTime[] starts = { DateTime.Now, DateTime.Now.AddDays(-12) }; DateTime[] ends = { DateTime.Now.AddMonths(1), DateTime.Now.AddDays(1) }; if (starts.Max() < ends.Min()) Response.Write(string.Concat(starts.Max().ToString(), " - ", ends.Min().ToString())); else Response.Write("没有重叠时间段"); 上面有个前提:同索引上的end必须不小于start,否则swap一下 http://topic.csdn.net/u/20110921/22/610ec819-7ca5-4104-a74c-c361cbf17b16.html?37193看看这个 asp.net 目录式伪静态实现方法??? Socket与jquery的问题 怎么算出邮件的大小(急用) FCKEditor可以把工具栏和编辑文本框分开吗?或者有没有替代工具? 怎样利用aspnet_compiler将类似如js文档也一起编译 在线等:(一分钟解绝拿分)子窗口向父窗口传值 .net如何传两个字段 自建类的问题,兄弟们近来看 奇怪的DataSet问题,请大家帮忙看看。 如何将框架页面的querstring值传递到框架中的src页面中? 内容里怎么判断里面有连续的3位数字? .net encode
DateTime end = System.DateTime.Now.AddMonths(1);
DateTime star1 = System.DateTime.Now;
DateTime end2 = System.DateTime.Now.AddMonths(1).AddDays(2);
DateTime star2 = System.DateTime.Now;
得到他们重叠的时间段
楼主 你的意思是start1~start2 是一个时间段
end1~end2是一个时间段 这两个时间段有没有重叠的时间段对吗
如果是这样 那永远都是true你的重叠按你给出程序的代码 你的重叠时间一直都是
DateTime star1 = System.DateTime.Now;
DateTime end2 = System.DateTime.Now.AddMonths(1).AddDays(2);
重叠时间就是 star1到end2
获取一个时间段对吧 那么一定有起始时间和结束时间 假设t1和t2
那么另一个时间段也是一样的 假设T1和T2
1.比较t2和T2的大小 假设T2更大
2.判断T1是否大于t1并小于t2 如果是就说明包含了
而且包含的时间段就是t2到T1
DateTime[] ends = { DateTime.Now.AddMonths(1), DateTime.Now.AddDays(1) };
if (starts.Max() < ends.Min())
Response.Write(string.Concat(starts.Max().ToString(), " - ", ends.Min().ToString()));
else
Response.Write("没有重叠时间段");
看看这个