Web表单显示SQL仅存储日期的时间

时间:2017-10-31 15:36:42

标签: c# asp.net sql-server

我有一个C#Web窗体,它将SELECT语句的结果显示在Gridview中。我在SQL中有一个名为Start_Date的列存储为日期。在SQL中,它看起来像这样

2017-10-31

然而,当我绑定网格时,我总是得到

10/31/2017 12:00:00 AM

我的SELECT语句如下所示

SELECT Start_Date FROM Table WHERE Start_Date > GETDATE()

我甚至尝试将Start_Date作为日期投射但仍显示时间。如果SQL列没有存储它,那会是从哪里来的呢?

我的绑定也很简单。

DataTable dt = new DataTable();
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand(query, con);
cmd.CommandType = commandType;

SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
gvPending.DataSource = dt;
gvPending.DataBind();

1 个答案:

答案 0 :(得分:1)

如果您使用的是Gridview,则可以设置日期时间格式:

<asp:boundfield datafield="Your_Date_Column" dataformatstring="{0:dd/MM/yyyy}" />

或者您可以在类中创建一个新属性,您可以根据需要格式化datetime字段,然后将该属性绑定到网格中的列。

否则,一旦直接从SQL检索值并绑定它,时间就会显示出来。