比较两个日期时间范围

本文关键字:日期 时间 范围 两个 比较 | 更新日期: 2023-09-27 18:16:35

可能重复:
如何检查日期时间段的交叉点

大家好,我有两个日期时间范围,旧的入住、退房和新的入住,如果旧的范围包含或等于新的范围,我如何比较这两个日期-时间范围?

比较两个日期时间范围

不太确定你想要完成什么。

简单地说,你有4种情况:

  1. 旧范围包含新范围
  2. 新范围包含旧范围
  3. 旧范围先于新范围开始,但也先于新范围结束
  4. 新范围从旧范围之前开始,但也在旧范围之前结束

如果你想测试所有这些,你需要如果,否则就全部测试。但如果你只关心情况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;

您可以简单地进行如下比较:

 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");
            }