在GridView中设置日期格式

时间:2024-03-12 21:23:04

 

因为从数据库中查出来的DateTime类型的数据,都是带时间的,而很多时间是只需要日期不必显示时间的。

以前格式化日期都是用模板列然后用正则表达式删掉时间部分,今天在网上看到了一个更简单的方法,就是直接用绑定列,设置DataFormatString和HtmlEncode两个属性就好了,像下面这样:

<asp:BoundField HeaderText="预计成交日期" DataField="fcBargainDate"   DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="false"/>

其实以前也想到过用DataFormatString,只是没想到要设置HtmlEncode,所以从来没有成功,不知道为什么要这样设置。幸好日期字段里不会出现html标签……

MSDN上给出的格式字符串:

数字、货币格式:

在指定的格式符号后可以指定小数所要显示的位数。例如原来的数据为「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