GridView中日期不显示时分秒的完美解决方法

529 查看

两种处理方式:

1、模版列:假设数据表的字段completeTime的类型为时间格式

 <asp:TemplateField HeaderText="时间">
            <ItemTemplate>
              <%#Eval("completeTime", "{0:yyyy-MM-dd}")%>
           </ItemTemplate>
   </asp:TemplateField>

2、绑定列:

 <asp:BoundField HeaderText="时间" DataField="completeTime" HtmlEncode= "false" DataFormatString="{0:yyyy-MM-dd}" >   
 </asp:BoundField>

DataFormatString使用笔记:

存储在数据库里的是日期时间,但在页面中只显示日期,datalist和gridview里面可以用 DataFormatString来进行格式化,使数据按指定的格式显示。

例子:

 <asp:DataList ID="dlistNews" runat="server" >
      <ItemTemplate>
     <a title=<%#DataBinder.Eval(Container.DataItem,"title")%> target="_blank" href='sysbin/news/news_show.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>'>
     <%#GetSubString(DataBinder.Eval(Container.DataItem,"title").ToString(),24)%></a>
    (<%# DataBinder.Eval(Container.DataItem,"showtime")%>)

<%# DataBinder.Eval(Container.DataItem, "renewtime", "{0:d}")%> 或

<%# DataBinder.Eval(Container.DataItem, "renewtime", "{0:yyyy-MM-dd}")%>
       </span>
      </ItemTemplate>
    </asp:DataList>

如果用bind()来取值,同样把指定格式的字符串放在后面

<ItemTemplate> 
<asp:Label ID="Label1" runat="server" Text='<%# Bind("AddinTime", "{0:yyyy-mm-dd}") %>'></asp:Label> 
</ItemTemplate> 
</asp:TemplateField>

控制数字:DataFormatString = "{0:F}",是默认格式,显示两位小数,如果需要显示的小数位数为其他

值,DataFormatString = "{0:Fn}"即可.

具体用法:

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

注意:如果用DataFormatString格式化GridView ,

同时设置HtmlEncode = false,才能够使DataFormatString生效.

 <asp:BoundField HeaderText="总计" DataField="Total" DataFormatString="{0:C}" HtmlEncode="False">

以上这篇GridView中日期不显示时分秒就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。