Visual Studio网站如何在table中获取没有时间的日期数据类型

Visual Studio Website how to get date data type without time in table

我创建了一个显示一些 table 的简单网站。我从 App_Data 文件夹创建了一个数据库并创建了一些 table。 table 有一列 AddDate,其数据类型为 date。 我只想得到没有时间的日期。目前我的网站显示这样的日期:

1/30/2017 12:00:00 AM

我想获取Jan, 30 2017这样的日期。

这是我所做的:

我创建了一个名为 TestDB 的数据库,添加了 App_Data。

我从数据库中添加了一个 table 并添加了一个名为 AddDate 的列。 它的数据类型是 date

我从 AddDate 列的数据类型下拉列表中选择了 data,但我得到了如上所示的带时间的数据。

如何在 Visual Studio 中的 table 中设置没有时间的 date 数据类型?


更新:6/11

我只能通过在网格视图的 属性 中添加 {0:d} 来获取日期。

供参考: BoundField.DataFormatString Property

我想这就是你想要的:

var customDateFormat = yourDate.ToString("MMM, dd yyyy");

您可以查看 DateTime.ToString 方法以了解如何将日期时间转换为您期望的格式。

您应该像这样使用 DateTime:

  DateTime time = DateTime.Now;  // you datetime value
  DateTime.Now.ToString("MMMM", CultureInfo.InvariantCulture);

并在 class

的顶部添加使用 System.Globalization;

你还可以看到这个link:

数据库层和 C# 代码层逻辑之间存在轻微的脱节,我们都必须不时处理,在 C# 中,DateTime 用于 DateOnly 和携带的值时间也是如此。

在 SQL 中存储这些值时,我们可以选择使用 Date 数据类型,时间信息将被简单地省略。

在您的代码中,您可以使用 .Date 属性 忽略时间分量和 return 具有零(午夜)时间值的日期值。

因此我们接受要使用的运行时数据类型 DateTime 现在唯一关心的是如何以您请求的格式呈现值。

DateTime 数据类型有一个 .ToString(string format) 方法,可在您需要可视化值时使用。

var formattedDate = dateValue.ToString("MMM, dd yyyy");

如果您正在使用 Entity Framework 或 nHibernate ORM 框架,那么它们有内置约定来指定数据列数据类型应该是 Date 而不是 DateTime,但是在您的 C# 代码中,您应该使用 DateTime 数据类型来保存日期值。