проблема с датами выпуска - PullRequest
0 голосов
/ 20 июня 2011

У меня есть это в моей программе на C #:

if (DateTime.Now >= myDateTime1 && DateTime.Now <= myDateTime2)
            {
                return true;
            }
            else
            {
                return false;
            }

это значения:

DateTime.Now = 20/06/11 10:55:43

myDateTime1  = 20/06/11 11:29:09

myDateTime2  = 21/06/11 11:31:07

но почему это предложение возвращает меня False?

РЕДАКТИРОВАТЬ: Мне нужно сравнить только даты, а не со временем.

Ответы [ 4 ]

2 голосов
/ 20 июня 2011

Для указанных вами дат DateTime.Now предшествует myDateTime1, поэтому DateTime.Now >= myDateTime1 оценивается как false, что означает, что весь оператор if оценивается как false, поэтому выполняется else код, который возвращает false.

К вашему сведению, если вы установите точку останова в операторе if (нажмите F9), когда программа останавливается, вы можете навести указатель мыши на двоичные операторы (такие как <=, && и >=), чтобы показать, что они оценить до.

РЕДАКТИРОВАТЬ: если вы хотите сравнить только дату, используйте if (DateTime.Today >= myDateTime1.Date && DateTime.Today <= myDateTime2.Date)

1 голос
/ 20 июня 2011

Потому что DateTime.Now меньше myDateTime1. Первое условие становится ложным, а следующее условие не выполняется. Если у вас есть какие-либо вопросы, вы можете спросить или исправить меня, если я ошибаюсь.

0 голосов
/ 20 июня 2011

Потому что

(20/06/11 10:55:43) >= (20/06/11 11:29:09) 

неверно:)

0 голосов
/ 20 июня 2011

Похоже, DateTime.Now находится не между myDateTime1 и myDateTime2, что и требуется для оператора if, поэтому возвращает false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...