我正在从sql数据读取器读取日期值到这样的字符串数据类型变量。
electionPosDate = Convert.ToDateTime(reader["elecPODate"]).ToString("dd/MM/yyyy");
如何在if条件下将其与当前系统日期进行比较?
if(electionPosDate==_____?)
{
}
答案 0 :(得分:7)
由于electionPosDate
是string
,而不是DateTime
,您需要比较它;
if(electionPosDate == DateTime.Now.ToString("dd/MM/yyyy"))
但更重要的是,我觉得你做错了什么。如果elecPODate
列已经 datetime
输入,您只需使用SqlDataReader.GetDateTime
method即可将值DateTime
。在您的情况下,您正在将string
解析为DateTime
,然后再将其转换为string
。这完全没必要。您应该始终选择适合您的数据类型的最佳列类型。
例如,如果此elecPODate
列是第一列或您的读者,则可以使用;
DateTime electionPosDate = reader.GetDateTime(0);
并将其比作;
if(electionPosDate.Date == DateTime.Now.Date)
答案 1 :(得分:5)
使用Date
的{{1}}属性,如果您只想查看日期部分,并使用DateTime
获取当前日期,但仅限日期部分使用DateTime.Now
:
DateTime.Now.Date