C#日期型數(shù)據(jù)簡單剖析
C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#日期型數(shù)據(jù),包括介紹使用 System.DateTime 類的 ToString() 方法等方面。
C#日期型數(shù)據(jù)
編程的過程中,通常需要將C#日期型數(shù)據(jù)按照一定的格式輸出,當(dāng)然,輸出結(jié)果肯定是字符串。為此,我們需要使用 System.DateTime 類的 ToString() 方法,并為其指定格式字符串。
MSDN 中,System.Globalization.DateTimeFormatInfo 類的概述里對模式字符串有非常詳細(xì)的說明,因此,這里我只對常用的一些格式進(jìn)行說明,首先請看下表:
d 月中的某一天 一位數(shù)的日期沒有前導(dǎo)零
dd 月中的某一天 一位數(shù)的日期有一個(gè)前導(dǎo)零
ddd 周中某天的縮寫名稱 在 AbbreviatedDayNames 中定義
dddd 周中某天的完整名稱 在 DayNames 中定義
M 月份數(shù)字 一位數(shù)的月份沒有前導(dǎo)零
MM 月份數(shù)字 一位數(shù)的月份有一個(gè)前導(dǎo)零
MMM 月份的縮寫名稱 在 AbbreviatedMonthNames 中定義
MMMM 月份的完整名稱 在 MonthNames 中定義
y 不包含紀(jì)元的年份 如果不包含紀(jì)元的年份小于 10,則顯示不具有前導(dǎo)零的年份
yy 不包含紀(jì)元的年份 如果不包含紀(jì)元的年份小于 10,則顯示具有前導(dǎo)零的年份
yyyy 包括紀(jì)元的四位數(shù)的年份
h 12 小時(shí)制的小時(shí) 一位數(shù)的小時(shí)數(shù)沒有前導(dǎo)零
hh 12 小時(shí)制的小時(shí) 一位數(shù)的小時(shí)數(shù)有前導(dǎo)零
H 24 小時(shí)制的小時(shí) 一位數(shù)的小時(shí)數(shù)沒有前導(dǎo)零
HH 24 小時(shí)制的小時(shí) 一位數(shù)的小時(shí)數(shù)有前導(dǎo)零
m 分鐘 一位數(shù)的分鐘數(shù)沒有前導(dǎo)零
mm 分鐘 一位數(shù)的分鐘數(shù)有一個(gè)前導(dǎo)零
s 秒 一位數(shù)的秒數(shù)沒有前導(dǎo)零
ss 秒 一位數(shù)的秒數(shù)有一個(gè)前導(dǎo)零
為了便于大家的理解,不妨試試下面的程序:
- 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");
- }
這段程序?qū)⑤敵鼋Y(jié)果:yyyy-MM-dd HH:mm:ss: 2002-08-26 17:03:04 yy年M日d日: 02年8日26日,這時(shí)候,又出現(xiàn)一個(gè)問題,如果要輸出的文本信息中包含格式字符怎么辦?如
- format = "year: yyyy, month: MM, day: dd";
- this.textBox1.AppendText(now.ToString(format) + "\n");
將輸出:2ear: 2002, 4on下5: 08, 26a2: 26,這并不是我想要的結(jié)果,怎么辦呢?有辦法
- format = "\"year\": yyyy, \'month\': MM, \'day\': dd";
- this.textBox1.AppendText(now.ToString(format) + "\n");
看,這次運(yùn)行結(jié)果對了:year: 2002, month: 08, day: 26,以上介紹C#日期型數(shù)據(jù)
【編輯推薦】