GridView中显示时间日期格式问题

时间:2024-03-12 21:21:03
GridView中显示时间日期格式问题
                           以下都是基本常用的日期,时间格式
形式
语法
结果
注释
数字
{0:N2}
12.36
 
数字
{0:N0}
13
 
货币
{0:c2}
$12.36
 
货币
{0:c4}
$12.3656
 
货币
"¥{0:N2}"
¥12.36
 
科学计数法
{0:E3}
1.23E+001
 
百分数
{0:P}
12.25%
P and p present the same.
日期
{0:D}
2006年11月25日
 
日期
{0:d}
2006-11-25
 
日期
{0:f}
2006年11月25日 10:30
 
日期
{0:F}
2006年11月25日 10:30:00
 
日期
{0:s}
2006-11-25 10:30:00
 
时间
{0:T}
10:30:00
 
 
在GridView中操作的时候要注意以下的几个方面(以{0:d}为例)
1.要绑定的列如果单纯的是boundfiled类型的(如下)
<asp:BoundField DataField="sj" HeaderText="时间" ReadOnly="True" DataFormatString="{0:d}" />
显示出来的格式还是2006-11-25 0:00:00 为达到我们想要的效果
2.要绑定的列必须是模板列如下:这样才能看到我们想要看到的效果:2006-11-25
<asp:TemplateField HeaderText="时间">
   <EditItemTemplate>
          <asp:Label ID="Label1" runat="server" Text=\'<%# Eval("sj", "{0:d}") %>\'></asp:Label>
 </EditItemTemplate>
 <ItemTemplate>
          <asp:Label ID="Label2" runat="server" Text=\'<%# Bind("sj", "{0:d}") %>\'></asp:Label>
 </ItemTemplate>
</asp:TemplateField>
 

在asp.net 1.0 中的datagrid 中 设置日期字段格式时用 DataFormatString="{0:yyyy-MM-dd}"即可。
   在gridview 中设置短日期格式 使用<asp:BoundField HeaderText="发表时间" DataField="PostTime" DataFormatString="{0:yyyy-MM-dd}" >时不会出现想要的显示效果, 页面显示格式为: 2006-11-1 0:00:00 

   必须把 HtmlEncode属性更改。设为HtmlEncode=false
   完整格式应该是 
<asp:BoundField HeaderText="发表时间" DataField="PostTime" HtmlEncode=false DataFormatString="{0:yyyy-MM-dd}" >  

 

一、使用模板列 
<asp:TemplateField> 
<ItemTemplate> 
<asp:Label ID="Label1" runat="server" Text=\'<%# Bind("datetime", "{0:HH:mm}") %>\'></asp:Label> 
</ItemTemplate> 
</asp:TemplateField> 
这样,在列中,它显示:10:01

二、进行简单的设置
如果要应用 formatstring ,必须将该列 Behavior-> HtmlEncode 设置为False

 

DataFormatString="{0:格式字符串}"

在DataFormatString 中的 {0} 表示数据本身,而在冒号后面的格式字符串代表所们希望数据显示的格式;

数字、货币格式:
在指定的格式符号后可以指定小数所要显示的位数。例如原来的数据为「1.56」,若格式设定为 {0:N1},则输出为「1.5」。其常用的数值格式如下表所示:

格式字符串 输入 结果
"{0:C}" 12345.6789 $12,345.68
"{0:C}" -12345.6789 ($12,345.68)
"{0:D}" 12345 12345
"{0:D8}" 12345 00012345
"{0:E}" 12345.6789 1234568E+004
"{0:E10}" 12345.6789 1.2345678900E+004
"{0:F}" 12345.6789 12345.68
"{0:F0}" 12345.6789 12346
"{0:G}" 12345.6789 12345.6789
"{0:G7}" 123456789 1.234568E8
"{0:N}" 12345.6789 12,345.68
"{0:N4}" 123456789 123,456,789.0000
"Total: {0:C}" 12345.6789 Total: $12345.68

常用的日期时间格式: 

格式 说明 输出格式
d 精简日期格式 MM/dd/yyyy
D 详细日期格式 dddd, MMMM dd, yyyy
f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm
F
完整日期时间格式
(long date + long time)
dddd, MMMM dd, yyyy HH:mm:ss
g 一般格式 (short date + short time) MM/dd/yyyy HH:mm
G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss
m,M 月日格式 MMMM dd
s 适中日期时间格式 yyyy-MM-dd HH:mm:ss
t 精简时间格式 HH:mm
T 详细时间格式 HH:mm:ss

最后写一下中国常用的格式

{0:yyyy-MM-dd}

<asp:TemplateField HeaderText="添加<br />时间">
                    <ItemTemplate>
                        <%#Eval("AddTime", "{0:yy-MM-dd HH:mm}")%>
                    </ItemTemplate>
</asp:TemplateField>