我正在开发一个vb.net Web应用程序,我正在显示一个包含datetime的行的Gridview,数据来自数据库。在我的aspx文件中,在我的asp:boundfield中,我试图将日期格式(目前为mm / dd / yyyy hh:mm:ss)改为" dd MMM yyyy" (没时间)我尝试使用dataformatstring和HtmlEncode =" True / False" (两者)但仍然不会改变GridView中的日期格式。代码如下所示 -
<asp:BoundField DataField="STF_JOINED" HeaderText="Joined" SortExpression="STF_JOINED" HtmlEncode="False" DataFormatString = "{0:d}" ReadOnly="True">
在上面的代码中,我尝试将日期格式化为目前的短期,但它没有起作用。我仍然希望日期格式在&#34; dd MMM yyyy&#34;格式。
我已尝试过stackoverflow的一些解决方案,但它们似乎都不适合我。可以通过提供一个小例子代码告诉我我做错了什么或我应该做什么。
答案 0 :(得分:1)
您根本不需要HtmlEncode
。
对于DataFormatString
您必须使用{0:dd MM yyyy}
或{0:dd.MM.yyyy}
,因为您的数据库字段数据类型为datetime
而不是date
(其中dd
1}代表日期,MM
月和yyyy
年。请注意MM
,如果您写mm
,则代表会议记录。
<asp:BoundField DataField="STF_JOINED" HeaderText="Joined" SortExpression="STF_JOINED" DataFormatString = "{0:dd MM yyyy}" ReadOnly="True">
经过测试和工作。
您可以在此处详细了解数据格式字符串:BoundField.DataFormatString Property
您可以看到标准和自定义格式字符串的示例(每个表下的链接)。