堆栈中有相同的问题,但没有答案。我有一个数据集ds.Tables[0].Rows[0].Field<DateTime>("Date"))
我需要从该字段中删除时间。谁能告诉我怎么做???我尝试了以下操作,但没有成功
Convert.ToDateTime(ds.Tables[0].Rows[0].Field<DateTime>("Date")).ToString("MM/dd/yyyy");
最佳答案
DateTime
始终具有日期和时间部分。它只是一个没有任何格式的值。因此,您将它与它的表示形式混淆了,例如,如果调用dt.ToString()
。
您可以实现相同的操作,而无需将其转换为string
,而是应用仅显示日期的格式,最后将结果转换回DateTime
。您只需要使用它的Date
property
DateTime yourDateTime = ds.Tables[0].Rows[0].Field<DateTime>("Date");
DateTime onlyDate = yourDateTime.Date;
但是,如上所述,这不会删除小时,分钟和秒,它们现在只是零。因此,您必须使用以下之一:
string onlyDateDisplayed = yourDateTime.ToString("d");
string onlyDateDisplayed = yourDateTime.ToString("MM/dd/yyyy");
string onlyDateDisplayed = yourDateTime.ToShortDateString();