ASP.NET中时间格式的转换

有时候我们要对时间进行转换,达到不同的显示效果  默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢  我们要用到:DateTime.ToString的方法(String, IFormatProvider) 

Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16

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); 可对指定的几种日期格式进行转换. 不过具体的操作我想还是大家自己去试验一下效果可能会更好一些

                                                                                                                                                                                            [转自SDK中的文档]