在网格视图中格式化日期时间数据显示

时间:2013-12-16 13:30:15

标签: asp.net sql datetime

我正在尝试从Asp.Net中的数据库中检索DateTime数据类型数据。这是代码:

DateTime date = DateTime.Parse(dr["packingDate"].ToString());

然而,问题是我检索的日期以这种格式显示:26/11/2013 12.00 AM。我只想显示日期而不是时间。我试过这样做:

DateTime date = DateTime.Parse(dr["packingDate"].ToString());
string dateStr = date.ToString("dd/M/yyyy", CultureInfo.InvariantCulture);

但是,它在我的网格视图中不起作用。我想知道为什么会这样?

提前致谢。

3 个答案:

答案 0 :(得分:2)

将内置字符串函数仅用于日期值...

DateTime.ToShortDateString();

答案 1 :(得分:2)

从数据库中选择核心类型,因此在这种情况下datetime。然后,您可以使用DateTime的{​​{1}}扩展程序在DataTable中获得DataRow

Field

如果您只想显示日期:

DateTime date = dr.Field<DateTime>("packingDate");

string dateOnly = dr.Field<DateTime>("packingDate").ToShortDateString();

string dateOnly = dr.Field<DateTime>("packingDate").ToString("d");

答案 2 :(得分:1)

您可以在GridView控件上格式化样本:

<asp:BoundField DataField="packingDate" HeaderText="PackingDate" 
                    DataFormatString="{0:dd-M-yyyy}"  />