如题又重复的部分返回重复的时间段,没有则false

解决方案 »

  1.   


    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;
    得到他们重叠的时间段
      

  2.   


    楼主 你的意思是start1~start2 是一个时间段
    end1~end2是一个时间段   这两个时间段有没有重叠的时间段对吗 
    如果是这样  那永远都是true你的重叠按你给出程序的代码 你的重叠时间一直都是
      DateTime star1 = System.DateTime.Now;
      DateTime end2 = System.DateTime.Now.AddMonths(1).AddDays(2);
    重叠时间就是 star1到end2
      

  3.   

    这是一道面试题,原题是:分别给定两个时间段的开始时刻与截止时间,Tstar1,Tend1,以级Tstart2,Tend2。要求判断两个时间段是否有公共重叠的部分,如果有则返回公共重叠部分时间段的长度,如果没有则返回两个时间段之间的时间间隔长度。
      

  4.   

    给个思路吧 
    获取一个时间段对吧   那么一定有起始时间和结束时间  假设t1和t2
    那么另一个时间段也是一样的 假设T1和T2
    1.比较t2和T2的大小   假设T2更大
    2.判断T1是否大于t1并小于t2    如果是就说明包含了 
    而且包含的时间段就是t2到T1
      

  5.   

                  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("没有重叠时间段");
      

  6.   

    上面有个前提:同索引上的end必须不小于start,否则swap一下
      

  7.   

    http://topic.csdn.net/u/20110921/22/610ec819-7ca5-4104-a74c-c361cbf17b16.html?37193
    看看这个