10. 格式化日期型数据
编程的过程中,通常需要将日期型数据按照一定的格式输出,当然,输出结果肯定是字符串。为此,我们需要使用 System.DateTime 类的 ToString() 方法,并为其指定格式字符串。
MSDN 中,System.Globalization.DateTimeFormatInfo 类的概述里对模式字符串有非常具体的说明,因此,这里我只对常用的一些格式进行说明,首先请看下表:
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"
评论加载中…
![]() |