代码之家  ›  专栏  ›  技术社区  ›  maltman

Web窗体显示SQL仅存储日期的时间

  •  0
  • maltman  · 技术社区  · 8 年前

    我有一个C#Web表单,它将SELECT语句的结果显示在Gridview中。我在SQL中有一个名为Start\u Date的列,存储为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 回复  |  直到 8 年前
        1
  •  1
  •   Hussein Salman    8 年前

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

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

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

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