堆栈中有相同的问题,但没有答案。我有一个数据集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();

09-05 22:30