Проблема с датировкой и функцией dateadd

If DateDiff(DateInterval.Day, moDoBooking.m_CurrentDay, moDoBooking.m_BaseDay) _
          > DateDiff(DateInterval.Day, DateAdd(DateInterval.Day, _
          Convert.ToDouble(moDoBooking.oBooking.oFacility.ADAYS), moDoBooking.m_BaseDay), _
          moDoBooking.m_BaseDay) Then

Это условие не будет удовлетворять этим значениям:

moDobooking.m_CurrentDay = 2/3/2011
moDobooking.m_BaseDay = 22/02/2011
moDoBooking.oBooking.oFacility.ADAYS = 1

Вы могли бы сказать, что это очень просто, но, честно говоря, здесь уже поздно, и моя голова совсем не работает! Может ли кто-нибудь сказать мне, почему это?

2 ответа

Решение

Я ожидал бы, что ваше логическое условие всегда вернет false.

Зачем? Потому что разница в днях между двумя днями всегда будет меньше, чем разница + 1.

Я не уверен, что вы ищете, но я подозреваю, что знак противоположен тому, что вы ожидаете, потому что значения являются отрицательными. Как кто-то ранее упомянул ваше заявление if запутано. Сделайте себе одолжение и создайте временные переменные для хранения значений, а затем сравните. Вам нужно как минимум еще 3 переменные, прежде чем станет очевидно, что вы пытаетесь сделать.

Другие вопросы по тегам