C# 从数据集中的datetime字段中删除时间

C# 从数据集中的datetime字段中删除时间,c#,asp.net,datetime,C#,Asp.net,Datetime,相同的问题在堆栈中可用,但没有答案。我有一个数据集ds.Tables[0]。行[0]。字段(“日期”) 我需要把时间从这个领域中去掉。谁能告诉我怎么做???我尝试了以下方法,但不起作用 Convert.ToDateTime(ds.Tables[0].Rows[0].Field<DateTime>("Date")).ToString("MM/dd/yyyy"); Convert.ToDateTime(ds.Tables[0]。行[0]。字段(“日期”)).ToString(“MM/d

相同的问题在堆栈中可用,但没有答案。我有一个数据集
ds.Tables[0]。行[0]。字段(“日期”)

我需要把时间从这个领域中去掉。谁能告诉我怎么做???我尝试了以下方法,但不起作用

Convert.ToDateTime(ds.Tables[0].Rows[0].Field<DateTime>("Date")).ToString("MM/dd/yyyy");
Convert.ToDateTime(ds.Tables[0]。行[0]。字段(“日期”)).ToString(“MM/dd/yyyy”);

A
DateTime
也有日期和时间部分。它只是有一个没有任何格式的值。因此,如果调用
dt.ToString()
,就会将它与它的表示混淆

您可以实现与上面相同的操作,而无需将其转换为
字符串
,应用仅显示日期的格式,最后将结果转换回
日期时间
。你只需要使用它的

DateTime yourDateTime=ds.Tables[0]。行[0]。字段(“日期”);
DateTime onlyDate=您的DateTime.Date;
但是,如上所述,这不会删除小时、分钟和秒,它们现在只是零。因此,您必须使用其中一种:

  • string onlyDateDisplayed=yourDateTime.ToString(“d”)
  • string onlyDateDisplayed=yourDateTime.ToString(“MM/dd/yyyy”)
  • string onlyDateDisplayed=yourDateTime.ToSortDateString()

  • 使用DateTime的Date属性:ds.Tables[0]。行[0]=ds.Tables[0]。行[0]。字段(“日期”)。在c#中,没有
    Date
    数据类型,只有
    DateTime
    。另外,
    字段
    返回一个
    日期时间
    ,因此
    Convert.ToDateTime
    什么也不做。“不工作”是什么意思?
    .Date
    属性返回一个没有时间组件的日期时间。你不需要其他任何东西,特别是美国特定的字符串操作,它保证会破坏你在哪里使用这个日期?几乎所有控件都允许格式化。您应该为控件、MVC帮助程序或数据绑定表达式指定短日期格式,最好设置用于显示此内容的任何控件的format属性value@PanagiotisKanavos:OP没有说他正在使用任何具有格式属性的控件在web应用程序中使用仅限美国的格式是自找麻烦。你可以猜到接下来的两个问题是什么——为什么Javascript不起作用,为什么几个月的时间会颠倒过来customers@PanagiotisKanavos我不会因为我不知道的事责怪op。除此之外。以上三种方法都将使用当前的文化日期格式,而不是我们。即使第二个也将使用本地化的日期分隔符,并且只指定年、月和日期的顺序。原因是/是一个特殊的格式说明符我不理解你的评论。是的,这将不使用/作为日期分隔符,而是使用当前区域性日期分隔符(对于我来说,它将显示例如2017年11月24日而不是2017年11月24日)。
    DateTime yourDateTime = ds.Tables[0].Rows[0].Field<DateTime>("Date");
    DateTime onlyDate = yourDateTime.Date;