我有一个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();
答案 0 :(得分:1)
如果您使用的是Gridview,则可以设置日期时间格式:
<asp:boundfield datafield="Your_Date_Column" dataformatstring="{0:dd/MM/yyyy}" />
或者您可以在类中创建一个新属性,您可以根据需要格式化datetime字段,然后将该属性绑定到网格中的列。
否则,一旦直接从SQL检索值并绑定它,时间就会显示出来。