比较两个日期时间范围

时间:2011-12-02 18:09:46

标签: c# datetime date

  

可能重复:
  How check intersection of DateTime periods

大家好我有两个日期时间范围旧签入,签出和新签入,如果旧范围包含或等于新范围,请查看我如何比较这两个日期时间范围?

2 个答案:

答案 0 :(得分:1)

不完全确定你要完成的任务。

简单地说,你有4个案例:

  1. 旧范围包含新范围
  2. 新范围包含旧范围
  3. 旧范围在新范围之前开始,但也在新范围之前结束
  4. 新范围在旧范围之前开始,但也在旧范围之前结束
  5. 如果你想测试所有这些,你需要if,否则全部。但是如果你只关心案例1,你可以通过这样做来测试它:

            var oldCheckout = DateTime.Now.AddMinutes(-500);
            var oldCheckin = DateTime.Now.AddMinutes(-30);
            var newCheckout = DateTime.Now.AddMinutes(-400);
            var newCheckin = DateTime.Now.AddMinutes(-50);
    
            if (oldCheckout < newCheckout && newCheckin < oldCheckin)
                return true;
            else
                return false;
    

答案 1 :(得分:0)

你可以这样比较:

 DateTime d1 = DateTime.Now.AddDays(3);
            DateTime d2 = DateTime.Now;

            if (d2 > d1)
            {
                Console.WriteLine("d1 is less than d2");

            }
            else
            {
                Console.WriteLine("d2 is less than d1");
            }