Проблема с датировкой и функцией 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 переменные, прежде чем станет очевидно, что вы пытаетесь сделать.