【问题标题】:To Get Data that its type is Date in C#在C#中获取其类型为日期的数据
【发布时间】:2014-04-05 16:47:18
【问题描述】:

在我的 SQL 数据库中,我有 BeginDate 类型为 date 的列(所以我只想获取日、月、年)。

我在 C# 中将数据添加到数据库中。

我查看Table_Data,一切正常(例如BeginDate = 05/04/2014)。

但是当我使用 C# 从数据库中获取这些数据时

string a= dt.Rows[i]["BeginDate"].ToString()

结果是:a= 05/04/2014 12:00:00 AM

为什么?

我可以用任何方法删除string a 中的小时。但为什么?我只想从数据库中获取05/04/2014

【问题讨论】:

  • .NET DateTime 结构总是包含一个时间部分 - 这确实是一个 .NET“问题”,而不是您的数据库的问题
  • 投了反对票,因为已经给出了解决方案,而您还没有接受它。
  • 因为我加了图片
  • ClosingDate 总是会在 Visual Studio 中显示一个时间,如果你将鼠标悬停在它上面。但值在 Visual Studio 中的显示方式并不重要。重要的是你如何在应用程序中显示它。
  • 正如 Robert Harvey 给出的答案(如下),您必须使用 DateTime.ToString() 提供的格式化功能。请参阅我在他答案底部的评论以获得确切的解决方案。

标签: c# sql datetime


【解决方案1】:

这是显示问题,不是数据问题。使用DateTime.ToString() 的格式化功能以您想要的格式显示日期。

如果数据以字符串形式从数据库中出来,请先使用DateTime.Parse

参考
Standard Date and Time Formats
Custom Date and Time Formats

【讨论】:

  • 添加:.NET 没有日期数据类型 - 只有日期时间。因此,如果不为此创建自己的结构,就无法仅将日期放入变量中,这需要大量工作。
  • @TomTom:“日期”是一个日期时间,时间为 12:00:00 AM。
  • 不,数据不是以字符串形式出现的
  • Jeyhun,您说的问题是 FORMATTING 问题,而不是 DATA 问题。如果你这样做string a = ((DateTime)dt.Rows[i]["BeginDate"]).ToString("dd/MM/yyyy");,你会得到你想要的格式。
  • 罗伯特哈维,谢谢
猜你喜欢
  • 1970-01-01
  • 2014-02-04
  • 1970-01-01
  • 2019-03-25
  • 2012-11-26
  • 2018-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多