详细内容
.NET 时间显示格式
发布日期:2010-03-25     点击:2826     字体:[ ]

想要使时间显示格式按指定方式显示,首先设定:HtmlEncode=”false”

1)日期格式化显示
在SQL中DateTime为8位长度日期的指定形式为2003-12-31 00:00:00
而在ASP.NET上最常用的只是2003-12-31号一部分而已你可以使用
DateTime.Now.ToString("d")或DateTime.Now.ToShortDateString();
不过具体格式是2003/12/31还是2003-12-31的话要看你的系统配置日期配置是哪一种.
你要想确定取得2003-12-31指定的话使用.Tostring()用户自定义格式
格式的字符可以看上面说到的文档.
如.ToString("yyyy-MM-dd")返回2003-11-25
.ToString("yyyyMMdd")返回20031125

d 将日显示为不带前导零的数字(如 1)。如果这是用户定义的数字格式中的唯一字符,请使用

%d。
dd 将日显示为带前导零的数字(如 01)。
ddd 将日显示为缩写形式(例如 Sun)。
dddd 将日显示为全名(例如 Sunday)。
M 将月份显示为不带前导零的数字(如一月表示为 1)。如果这是用户定义的数字格式中的唯一

字符,请使用 %M。
MM 将月份显示为带前导零的数字(例如 01/12/01)。
MMM 将月份显示为缩写形式(例如 Jan)。
MMMM 将月份显示为完整月份名(例如 January)。
gg 显示时代/纪元字符串(例如 A.D.)
h 使用 12 小时制将小时显示为不带前导零的数字(例如 1:15:15 PM)。如果这是用户定义的数

字格式中的唯一字符,请使用 %h。
hh 使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM)。
H 使用 24 小时制将小时显示为不带前导零的数字(例如 1:15:15)。如果这是用户定义的数字

格式中的唯一字符,请使用 %H。
HH 使用 24 小时制将小时显示为带前导零的数字(例如 01:15:15)。
m 将分钟显示为不带前导零的数字(例如 12:1:15)。如果这是用户定义的数字格式中的唯一字

符,请使用 %m。
mm 将分钟显示为带前导零的数字(例如 12:01:15)。
s 将秒显示为不带前导零的数字(例如 12:15:5)。如果这是用户定义的数字格式中的唯一字符

,请使用 %s。
ss 将秒显示为带前导零的数字(例如 12:15:05)。
F 显示秒的小数部分。例如,ff 将精确显示到百分之一秒,而 ffff 将精确显示到万分之一秒。

用户定义格式中最多可使用七个 f 符号。如果这是用户定义的数字格式中的唯一字符,请使用 %f。
T 使用 12 小时制,并对中午之前的任一小时显示大写的 A,对中午到 11:59 P.M 之间的任一小

时显示大写的 P。如果这是用户定义的数字格式中的唯一字符,请使用 %t。
tt 使用 12 小时制,并对中午之前任一小时显示大写的 AM;对中午到 11:59 P.M 之间的任一小

时显示大写的 PM。
y 将年份 (0-9) 显示为不带前导零的数字。如果这是用户定义的数字格式中的唯一字符,请使用

%y。
yy 以带前导零的两位数字格式显示年份(如果适用)。
yyy 以四位数字格式显示年份。
yyyy 以四位数字格式显示年份。
z 显示不带前导零的时区偏移量(如 -8)。如果这是用户定义的数字格式中的唯一字符,请使用

%z。
zz 显示带前导零的时区偏移量(例如 -08)
zzz 显示完整的时区偏移量(例如 -08:00)

同样对时间也可以进行这样的格式化..你可以使用自定义格式来设置你想要的格式输出.
你可以使用上表中各字符进行任意的组合不管前后次序多少如你写入yyyy-yyyy也是可以的.

注意的是:进行格式化的一定要是日期DateTime格式.在SQL中的类型也一样.否则格式无效或出错.特别是在DataGrid常{0:IFromat}的格式中会用到

2)日期的输入
我们在办理入日期格式式常用DateTime.Pares()
但是这个形式的转换是相当有限的,有些C#是会不懂你写入的日期格式的如20031231大家都明白是2003-

12-31号可以C#不认识他.我们可以这样子进行如下
//设置语言国家
System.IFormatProvider format=new System.Globalization.CultureInfo("zh-CN",true);
//指定转换格式
Response.Write(DateTime.ParseExact(this.TextBox1.Text,"yyyyMMdd",format));
这样他就能看出20031231号的日期格式了

不过可惜他只能够对yyyyMMdd形式进行不能对其它格式进行转换是不是美中不足?
不过.NET提供了另一种重载版本.
public static DateTime ParseExact(string, string[], IFormatProvider, DateTimeStyles);
可对指定的几种日期格式进行转换.

asp.net数据格式的Format-- DataFormatString

     我们在呈现数据的时候,不要将未经修饰过的数据呈现给使用者。例如金额一万元,如果我们直接显示「10000」,可能会导致使用者看成一千或十万,造成使用者阅读数据上的困扰。若我们将一万元润饰后输出为「NT$10,000」,不但让使比较好阅读,也会让使用者减少犯错的机会。
下列画面为润饰过的结果:
上述数据除了将DataGrid Web 控件以颜色来区隔记录外,最主要将日期、单价以及小计这三个计字段的数据修饰的更容易阅读。要修饰字段的输出,只要设定字段的DataFormatString 属性即可;其使用语法如下:

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

我们知道在DataFormatString 中的 {0} 表示数据本身,而在冒号后面的格式字符串代表所们希望数据显示的格式;另外在指定的格式符号后可以指定小数所要显示的位数。例如原来的数据为「12.34」,若格式设定为 {0:N1},则输出为「12.3」。其常用的数值格式如下表所示:

格式字符串 资料 结果
"{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

用户评论
昵称 
内容  *
验证码   
   
相关文章 更多...  
Copyright © 2010 zdbase.com All Rights Reserved. 苏ICP备15039389号 可人软件设计