gpt4 book ai didi

c# - 我有一个条件,使用 < 运算符比较 C# 中的 DateTime,即使不应该返回,它也会返回 false。为什么?

转载 作者:行者123 更新时间:2023-12-02 17:30:20 24 4
gpt4 key购买 nike

我有下面的代码,即使数据库中的日期时间大于 datetimenow,“if ((DateTime)DataReader[0] > DateTime.Now)”条件也会返回 false。

我以前使用过这段代码,它可以工作,我从未改变过任何东西。

所以问题是为什么条件返回 false?

谢谢

西蒙

Boolean active = false;
SqlConnectionUniqueInstance.Instance.Open();
SqlCommand Command = SqlConnectionUniqueInstance.Instance.Connection.CreateCommand();
Command.CommandText = String.Format(@"SELECT [LogoutDateTime] FROM [dbo].[sessions] WHERE [sessionID] = {0}", sessionId.ToString());
SqlDataReader DataReader = Command.ExecuteReader();
while (DataReader.Read())
{

if ((DateTime)DataReader[0] > DateTime.Now)
active = true;
}
DataReader.Close();
if (active)
UpdateTime(sessionId);
Command.Dispose();
return active;

最佳答案

这是实际答案:

您不需要/拥有/应该将 DateTime 与 >、<、== 或 != 运算符进行比较。相反,您可以使用 DateTime 类的 Compare 和 CompareTo 方法。

Compare :比较 DateTime 的两个实例并返回一个整数,该整数指示第一个实例是早于、等于还是晚于第二个实例。

CompareTo : 重载。将此实例的值与指定的 DateTime 值进行比较,并指示此实例是早于、等于还是晚于指定的 DateTime 值。

http://msdn.microsoft.com/en-us/library/system.datetime_members.aspx

关于c# - 我有一个条件,使用 < 运算符比较 C# 中的 DateTime,即使不应该返回,它也会返回 false。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/434367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com