发布日期问题

本文关键字:问题 日期 布日期 | 更新日期: 2023-09-27 17:59:29

我的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

编辑:我只需要比较日期,而不是时间。

发布日期问题

对于您给定的日期,DateTime.NowmyDateTime1之前,因此DateTime.Now >= myDateTime1的求值结果为false,这意味着整个if语句的求值结果是false,因此它正在运行else代码,该代码返回false

仅供参考,如果您在if语句上设置了断点(按F9),当程序停止时,您可以将鼠标悬停在二进制运算符(如<=&&>=)上,以显示它们的求值结果。

编辑:如果您只想比较日期,则使用if (DateTime.Today >= myDateTime1.Date && DateTime.Today <= myDateTime2.Date)

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

从外观上看,DateTime.Now不在myDateTime1和myDateTime2之间,这正是if语句所需要的,因此它返回false。

因为

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

为false:)