簡體   English   中英

比較日期字符串和當前日期?

[英]Compare date string with current date?

我正在從sql數據讀取器讀取日期值到這樣的字符串數據類型變量。

electionPosDate = Convert.ToDateTime(reader["elecPODate"]).ToString("dd/MM/yyyy");

如何在if條件下將其與當前系統日期進行比較?

if(electionPosDate==_____?)
{

}

由於electionPosDate是一個string ,而不是DateTime ,你需要比較它;

if(electionPosDate == DateTime.Now.ToString("dd/MM/yyyy"))

但更重要的是,我覺得你做錯了什么。 如果elecPODate已經datetime類型,則可以使用SqlDataReader.GetDateTime方法將值作為DateTime 在您的情況下,您將string解析為DateTime ,然后再將其轉換為string 這完全沒必要。 您應始終選擇適合您的數據類型的最佳列類型。

例如,如果此elecPODate列是第一列或您的閱讀器,則可以使用;

DateTime electionPosDate = reader.GetDateTime(0);

並比較一下;

if(electionPosDate.Date == DateTime.Now.Date)

請閱讀: 糟糕的習慣:選擇錯誤的數據類型

使用DateTime Date屬性,如果要僅檢查Date部分,並且獲取當前日期使用DateTime.Now ,但僅限日期部分使用DateTime.Now.Date

DateTime electionPosDate = Convert.ToDateTime(reader["elecPODate"]);   
if(electionPosDate.Date ==DateTime.Now.Date)
{

}

有關DateDateTime.Now的信息,請參閱MSDN文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM