2017-05-05 61 views
0

我有這個標籤從數據庫檢索時間並顯示在標籤中。但在數據庫中的時間也包括第二個例如03:45:29,我怎麼可以刪除時間秒在檢索後標籤變成03:45。這是我的代碼:LabelDateMarker.Text = LabelDateMarker.Text + " " + dr[3].ToString();如何從數據庫中檢索後刪除時間秒?

回答

1

使用的格式字符串這

((DateTime)dr[3]).ToString("yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture); 

,而不是

dr[3].ToString(); 

欲瞭解更多信息,看看可用的格式在MSDN

+0

我可能會建議使用'HH:mm',而不是'HH: mm'。 –

+0

這出現錯誤,即「方法toString需要1個參數沒有超載」 – NFH

+0

@JonSkeet好主意,改變了它 @FATINHAZWANI所以你的dr [3]值不是'DateTime'?哪種類型? –

2

假設drSqlDataReader或類似的,你可能想投向DateTime,然後適當地格式化值:

DateTime dateTime = (DateTime) dr[3]; 
string formatted = dateTime.ToString("yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture); 
LabelDateMarker.Text += " " + formatted; 

這裏yyyy-MM-dd HH:mm是一個custom date/time format string表明您想要的小時和分鐘的ISO-8601格式的日期部分之後。

格式化時我使用了不變的文化,以避免在默認情況下不使用格里曆日曆的語言環境中給出意外的結果。

(我假設的值總是非空的。如果它可能爲空,你應該先dr.IsDBNull(3)檢查它。)

+0

如果數據庫中的時間爲'null',該怎麼辦? –

+1

@ZoharPeled:如果這是一個問題,OP應該首先使用'dr.IsDBNull(3)'檢查它。這不在這個問題的範圍之內,但IMO。 –

+1

就是這樣,我認爲這不在這個問題的範圍之內。 –