如何在字符串运算符的帮助下比较存储在字符串中的两个日期
本文关键字:字符串 两个 日期 比较 运算符 帮助 存储 | 更新日期: 2023-09-27 17:58:34
我想在今天检查到期日,以便用户登录这是我的代码
string today = DateTime.Today.ToString("yyyy-MM-dd");
command = new SqlCommand("select * from CompanyRegistered where Comp_Id=" + CompanyRegId, connection);
SqlDataReader dr = command.ExecuteReader();
dr.Read();
DateTime TheDate = dr.GetDateTime(5);
string strDate = TheDate.ToString("yyyy-MM-dd");
//string up= Convert.ToDateTime(MyReader["AccountExpiry"]).ToString("yyyy-MM-dd");
int result = today.CompareTo(strDate);
if (result > 0)
{
}
DateTime TheDate = dr.GetDateTime(5);
是指您的值以DateTime
的形式存储在数据库中。
请不要将其转换为字符串。改为比较DateTime
值:
DateTime theDate = dr.GetDateTime(5);
DateTime today = DateTime.Today;
if (today > theDate)
{
...
}
不要。只对需要为文本的内容使用string
,例如要显示日期时。
你已经有了你想要的值作为正确的DateTime
,所以你可以比较它们:
using(SqlDataReader dr = command.ExecuteReader())
{
if(dr.Read() && !dr.IsDbNull(5))
{
DateTime userExpiryDate = dr.GetDateTime(5);
if (userExpiryDate > DateTime.Today)
{
// Do something
}
}
}
附带说明:添加一些错误处理-您可能不会得到任何记录或null
值。此外,请检查using
-许多SQL类(如SqlConnection
SqlDataReader
)都是IDisposable
,因此在使用后需要是Dispose()
d。