格式化日期型数据

d 月中的某一天。一位数的日期没有前导零。

dd 月中的某一天。一位数的日期有一个前导零。

ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。

dddd 周中某天的完整名称,在 DayNames 中定义。

M 月份数字。一位数的月份没有前导零。

MM 月份数字。一位数的月份有一个前导零。

MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。

MMMM 月份的完整名称,在 MonthNames 中定义。

y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。

yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。

yyyy 包括纪元的四位数的年份。

h 12 小时制的小时。一位数的小时数没有前导零。

hh 12 小时制的小时。一位数的小时数有前导零。

H 24 小时制的小时。一位数的小时数没有前导零。

HH 24 小时制的小时。一位数的小时数有前导零。

m 分钟。一位数的分钟数没有前导零。

mm 分钟。一位数的分钟数有一个前导零。

s 秒。一位数的秒数没有前导零。

ss 秒。一位数的秒数有一个前导零。


为了便于大家的理解,不妨试试下面的程序:


private void TestDateTimeToString() {

DateTime now = DateTime.Now;

string format;

this.textBox1.Text = "";

format = "yyyy-MM-dd HH:mm:ss";

this.textBox1.AppendText(format + ": " + now.ToString(format) + "\n");

format = "yy年M日d日";

this.textBox1.AppendText(format + ": " + now.ToString(format) + "\n");

}


这段程序将输出结果:


yyyy-MM-dd HH:mm:ss: 2002-08-26 17:03:04

yy年M日d日: 02年8日26日


这时候,又出现一个问题,如果要输出的文本信息中包含格式字符怎么办?如


format = "year: yyyy, month: MM, day: dd";

this.textBox1.AppendText(now.ToString(format) + "\n");


将输出:


2ear: 2002, 4on下5: 08, 26a2: 26


这并不是我想要的结果,怎么办呢?有办法——


format = "\"year\": yyyy, \'month\': MM, \'day\': dd";

this.textBox1.AppendText(now.ToString(format) + "\n");


看,这次运行结果对了:


year: 2002, month: 08, day: 26 

 

posted on 2007-01-30 13:05  玄新  阅读(221)  评论(0编辑  收藏  举报

导航