发行日期的问题

时间:2011-06-20 08:05:38

标签: c# winforms datetime

我在我的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 个答案:

答案 0 :(得分:2)

对于您提供的日期,DateTime.NowmyDateTime1之前,因此DateTime.Now >= myDateTime1正在评估false,这意味着整个if语句正在评估false 1}},因此它运行else代码,返回false

如果你在if语句上设置一个断点(按F9),当程序停止时你可以将鼠标悬停在二元运算符上(例如<=&&和{{1} })显示他们评价的内容。

编辑:如果您只想比较日期,请使用>=

答案 1 :(得分:1)

因为DateTime.Now小于myDateTime1。第一个条件变为false,下一个条件不会运行。如果还有任何查询,如果我错了,你可以询问或纠正我。

答案 2 :(得分:0)

因为

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

是假的:))

答案 3 :(得分:0)

从它的外观来看,DateTime.Now不在myDateTime1和myDateTime2之间,这是if语句所要求的,所以它返回false。