我在我的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
?
编辑:我只需要比较日期,而不是时间。
答案 0 :(得分:2)
对于您提供的日期,DateTime.Now
在myDateTime1
之前,因此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。