将日期字符串与当前日期进行比较?
Compare date string with current date?
我正在将日期值从 sql 数据 reader 读取到像这样的字符串数据类型变量。
electionPosDate = Convert.ToDateTime(reader["elecPODate"]).ToString("dd/MM/yyyy");
如何在 if 条件下将其与当前系统日期进行比较?
if(electionPosDate==_____?)
{
}
使用 Date
属性 of DateTime
,如果你只想检查日期部分,要获取当前日期使用 DateTime.Now
,但只检查日期部分使用 DateTime.Now.Date
:
DateTime electionPosDate = Convert.ToDateTime(reader["elecPODate"]);
if(electionPosDate.Date ==DateTime.Now.Date)
{
}
因为electionPosDate
是string
,不是DateTime
,你需要比较一下;
if(electionPosDate == DateTime.Now.ToString("dd/MM/yyyy"))
但更重要的是,我感觉你做的不对。如果 elecPODate
列 已经 datetime
键入,您可以只使用 SqlDataReader.GetDateTime
method 来获取值作为 DateTime
。在您的情况下,您正在将 string
解析为 DateTime
,然后再次将其转换为 string
。这是完全没有必要的。您应该始终选择适合您的数据类型的最佳列类型。
例如,如果此 elecPODate
列是第一列或您的 reader,您可以只使用;
DateTime electionPosDate = reader.GetDateTime(0);
并进行比较;
if(electionPosDate.Date == DateTime.Now.Date)
我正在将日期值从 sql 数据 reader 读取到像这样的字符串数据类型变量。
electionPosDate = Convert.ToDateTime(reader["elecPODate"]).ToString("dd/MM/yyyy");
如何在 if 条件下将其与当前系统日期进行比较?
if(electionPosDate==_____?)
{
}
使用 Date
属性 of DateTime
,如果你只想检查日期部分,要获取当前日期使用 DateTime.Now
,但只检查日期部分使用 DateTime.Now.Date
:
DateTime electionPosDate = Convert.ToDateTime(reader["elecPODate"]);
if(electionPosDate.Date ==DateTime.Now.Date)
{
}
因为electionPosDate
是string
,不是DateTime
,你需要比较一下;
if(electionPosDate == DateTime.Now.ToString("dd/MM/yyyy"))
但更重要的是,我感觉你做的不对。如果 elecPODate
列 已经 datetime
键入,您可以只使用 SqlDataReader.GetDateTime
method 来获取值作为 DateTime
。在您的情况下,您正在将 string
解析为 DateTime
,然后再次将其转换为 string
。这是完全没有必要的。您应该始终选择适合您的数据类型的最佳列类型。
例如,如果此 elecPODate
列是第一列或您的 reader,您可以只使用;
DateTime electionPosDate = reader.GetDateTime(0);
并进行比较;
if(electionPosDate.Date == DateTime.Now.Date)