C#日期型數據簡單剖析
C#語言有很多值得學習的地方,這里我們主要介紹C#日期型數據,包括介紹使用 System.DateTime 類的 ToString() 方法等方面。
C#日期型數據
編程的過程中,通常需要將C#日期型數據按照一定的格式輸出,當然,輸出結果肯定是字符串。為此,我們需要使用 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";
- 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,以上介紹C#日期型數據
【編輯推薦】