2

我目前有Datetime使用AM/的标准PM。我希望有 24 小时显示。在网上搜索给了我很多String.Format()选项。

问题是这会创建一个字符串对象来显示日期。我需要使用一个datetime对象,因为它用于表中,并且必须能够对日期列进行排序(asc/desc)。该表是一个GridView对象。

代码示例

目前,代码显示日期如下 8/21/2009 11:28:36 AM。我的完美情况将显示为 11:28:36 21/8/2009。我知道我可以使用以下代码获得该结果。

date.ToString("dd/MM/yyyy HH:mm:ss");

问题是这是一个字符串。字符串 get 被放入表中,如果我对日期列进行排序,它将首先按天而不是年份排序。显示以下降序列。

21/8/2009 11:28:36
20/1/2013 15:55:23

为了能够正确地对列进行排序,插入的 objecttype 应该是 DateTime。对象类型由以下代码强制。

dateTable.Columns.Add(new DataColumn("Date", typeof(DateTime)));
4

2 回答 2

1

根据这篇文章,您可以像这样使用boundfield:

<asp:boundfield datafield="Your_Date_Column" dataformatstring="{0:MMMM d, yyyy}" htmlencode="false" />

然后,您可以简单地使用此格式字符串:

"HH:mm"

大写字母 H 表示 24 小时时间,而小写 h 表示 12 小时时间。

于 2013-01-18T12:39:53.670 回答
0

您应该在 GridView 中使用DataFormatString属性BoundField

于 2013-01-18T12:42:11.763 回答