Home » Создание сайтов и программирование » Проверка пересечения диапазонов дат

Проверка пересечения диапазонов дат

Сегодня на работе возник вопрос, как наиболее посто проверить, пересекаются ли два диапазона дат. Моя жена (по образованию математик, работает вместе со мной программистом) сходу выдала очень простой способ.

[BeginDate1 – EndDate1] – первый диапазон

[BeginDate2 – EndDate2] – второй диапазон

Диапазоны не пересекаются, если BeginDate2 > EndDate1 или EndDate2 < BeginDate1. Используйте отрицание и получите условие пересечения.

 

  • Дмитрий

    Эта формула не всегда сработает!

  • И когда же она не работает?

  • Дмитрий

    аа..нет все работает..Спасибо:)

  • Владимир

    Почему-то привык использовать логическое И вместо ИЛИ.
    Чаще приходится искать пересекающиеся диапазоны (BETWEEN):

    BeginDate2=BeginDate1

  • Владимир

    BeginDate2<=EndDate1 И EndDate2>=BeginDate1

  • Иван

    Мне очень помогло, спасибо!

  • Евгения

    Элементарно, Ватсон! Очень пригодилось. Спасибо и респект вашей жене )