【轉】string.Format對C#字元串格式化

来源:http://www.cnblogs.com/ZXdeveloper/archive/2016/09/30/5922669.html
-Advertisement-
Play Games

轉自:http://blog.csdn.net/samsone/article/details/7556781 1、格式化貨幣(跟系統的環境有關,中文系統預設格式化人民幣,英文系統格式化美元) string.Format("{0:C}",0.2) 結果為:¥0.20 (英文操作系統結果:$0.20) ...


轉自:http://blog.csdn.net/samsone/article/details/7556781

1、格式化貨幣(跟系統的環境有關,中文系統預設格式化人民幣,英文系統格式化美元)

string.Format("{0:C}",0.2) 結果為:¥0.20 (英文操作系統結果:$0.20)

預設格式化小數點後面保留兩位小數,如果需要保留一位或者更多,可以指定位數
string.Format("{0:C1}",23.15) 結果為:¥23.2 (截取會自動四捨五入)

格式化多個Object實例
string.Format("市場價:{0:C},優惠價{1:C}",23.15,19.82)

2、格式化十進位的數字(格式化成固定的位數,位數不能少於未格式化前,只支持整形)

string.Format("{0:D3}",23) 結果為:023

string.Format("{0:D2}",1223) 結果為:1223,(精度說明符指示結果字元串中所需的最少數字個數。)

3、用分號隔開的數字,並指定小數點後的位數

string.Format("{0:N}", 14200) 結果為:14,200.00 (預設為小數點後面兩位)

string.Format("{0:N3}", 14200.2458) 結果為:14,200.246 (自動四捨五入)

4、格式化百分比

string.Format("{0:P}", 0.24583) 結果為:24.58% (預設保留百分的兩位小數)

string.Format("{0:P1}", 0.24583) 結果為:24.6% (自動四捨五入)

5、零占位符和數字占位符

string.Format("{0:0000.00}", 12394.039) 結果為:12394.04

string.Format("{0:0000.00}", 194.039) 結果為:0194.04

string.Format("{0:###.##}", 12394.039) 結果為:12394.04

string.Format("{0:####.#}", 194.039) 結果為:194

下麵的這段說明比較難理解,多測試一下實際的應用就可以明白了。
零占位符:
如果格式化的值在格式字元串中出現“0”的位置有一個數字,則此數字被覆制到結果字元串中。小數點前最左邊的“0”的位置和小數點後最右邊的“0”的位置確定總在結果字元串中出現的數字範圍。
“00”說明符使得值被舍入到小數點前最近的數字,其中零位總被捨去。

數字占位符:
如果格式化的值在格式字元串中出現“#”的位置有一個數字,則此數字被覆制到結果字元串中。否則,結果字元串中的此位置不存儲任何值。 
請註意,如果“0”不是有效數字,此說明符永不顯示“0”字元,即使“0”是字元串中唯一的數字。如果“0”是所顯示的數字中的有效數字,則顯示“0”字元。 
“##”格式字元串使得值被舍入到小數點前最近的數字,其中零總被捨去。

PS:空格占位符

string.Format("{0,-50}", theObj);//格式化成50個字元,原字元左對齊,不足則補空格
string.Format("{0,50}", theObj);//格式化成50個字元,原字元右對齊,不足則補空格

6、日期格式化

string.Format("{0:d}",System.DateTime.Now) 結果為:2009-3-20 (月份位置不是03)

string.Format("{0:D}",System.DateTime.Now) 結果為:2009年3月20日

string.Format("{0:f}",System.DateTime.Now) 結果為:2009年3月20日 15:37

string.Format("{0:F}",System.DateTime.Now) 結果為:2009年3月20日 15:37:52

string.Format("{0:g}",System.DateTime.Now) 結果為:2009-3-20 15:38

string.Format("{0:G}",System.DateTime.Now) 結果為:2009-3-20 15:39:27

string.Format("{0:m}",System.DateTime.Now) 結果為:3月20日

string.Format("{0:t}",System.DateTime.Now) 結果為:15:41

string.Format("{0:T}",System.DateTime.Now) 結果為:15:41:50


更詳細的說明請下麵微軟對此的說明或者上msdn上查詢。

微軟MSDN對string.format的方法說明:

名稱 說明 
String.Format (String, Object) 將指定的 String 中的格式項替換為指定的 Object 實例的值的文本等效項。 
String.Format (String, Object[]) 將指定 String 中的格式項替換為指定數組中相應 Object 實例的值的文本等效項。 
String.Format (IFormatProvider, String, Object[]) 將指定 String 中的格式項替換為指定數組中相應 Object 實例的值的文本等效項。指定的參數提供區域性特定的格式設置信息。 
String.Format (String, Object, Object) 將指定的 String 中的格式項替換為兩個指定的 Object 實例的值的文本等效項。 
String.Format (String, Object, Object, Object) 將指定的 String 中的格式項替換為三個指定的 Object 實例的值的文本等效項。

標準數字格式字元串

格式說明符 名稱 說明 
C 或 c
貨幣
數字轉換為表示貨幣金額的字元串。轉換由當前 NumberFormatInfo 對象的貨幣格式信息控制。

精度說明符指示所需的小數位數。如果省略精度說明符,則使用當前 NumberFormatInfo 對象給定的預設貨幣精度。

D 或 d
十進位數
只有整型才支持此格式。數字轉換為十進位數字 (0-9) 的字元串,如果數字為負,則前面加負號。

精度說明符指示結果字元串中所需的最少數字個數。如果需要的話,則用零填充該數字的左側,以產生精度說明符給定的數字個數。

E 或 e
科學記數法(指數)
數字轉換為“-d.ddd…E+ddd”或“-d.ddd…e+ddd”形式的字元串,其中每個“d”表示一個數字 (0-9)。如果該數字為負,則該字元串以減號開頭。小數點前總有一個數字。

精度說明符指示小數點後所需的位數。如果省略精度說明符,則使用預設值,即小數點後六位數字。

格式說明符的大小寫指示在指數前加首碼“E”還是“e”。指數總是由正號或負號以及最少三位數字組成。如果需要,用零填充指數以滿足最少三位數字的要求。

F 或 f
定點
數字轉換為“-ddd.ddd…”形式的字元串,其中每個“d”表示一個數字 (0-9)。如果該數字為負,則該字元串以減號開頭。

精度說明符指示所需的小數位數。如果忽略精度說明符,則使用當前 NumberFormatInfo 對象給定的預設數值精度。

G 或 g
常規
根據數字類型以及是否存在精度說明符,數字會轉換為定點或科學記數法的最緊湊形式。如果精度說明符被省略或為零,則數字的類型決定預設精度,如下表所示。

Byte 或 SByte:3

Int16 或 UInt16:5

Int32 或 UInt32:10

Int64 或 UInt64:19

Single:7

Double:15

Decimal:29

如果用科學記數法表示數字時指數大於 -5 而且小於精度說明符,則使用定點表示法;否則使用科學記數法。如果要求有小數點,並且忽略尾部零,則結果包含小數點。如果精度說明符存在,並且結果的有效數字位數超過指定精度,則通過舍入刪除多餘的尾部數字。

上述規則有一個例外:如果數字是 Decimal 而且省略精度說明符時。在這種情況下總使用定點表示法並保留尾部零。

使用科學記數法時,如果格式說明符是“G”,結果的指數帶首碼“E”;如果格式說明符是“g”,結果的指數帶首碼“e”。 

N 或 n
數字
數字轉換為“-d,ddd,ddd.ddd…”形式的字元串,其中“-”表示負數符號(如果需要),“d”表示數字 (0-9),“,”表示數字組之間的千位分隔符,“.”表示小數點符號。實際的負數模式、數字組大小、千位分隔符以及十進位分隔符由當前 NumberFormatInfo 對象指定。

精度說明符指示所需的小數位數。如果忽略精度說明符,則使用當前 NumberFormatInfo 對象給定的預設數值精度。

P 或 p
百分比
數字轉換為由 NumberFormatInfo.PercentNegativePattern 或 NumberFormatInfo.PercentPositivePattern 屬性定義的、表示百分比的字元串,前者用於數字為負的情況,後者用於數字為正的情況。已轉換的數字乘以 100 以表示為百分比。

精度說明符指示所需的小數位數。如果忽略精度說明符,則使用當前 NumberFormatInfo 對象給定的預設數值精度。

R 或 r
往返過程
只有 Single 和 Double 類型支持此格式。往返過程說明符保證轉換為字元串的數值再次被分析為相同的數值。使用此說明符格式化數值時,首先使用常規格式對其進行測試:Double 使用 15 位精度,Single 使用 7 位精度。如果此值被成功地分析回相同的數值,則使用常規格式說明符對其進行格式化。但是,如果此值未被成功地分析為相同數值,則它這樣格式化:Double 使用 17 位精度,Single 使用 9 位精度。

雖然此處可以存在精度說明符,但它將被忽略。使用此說明符時,往返過程優先於精度。 

X 或 x
十六進位數
只有整型才支持此格式。數字轉換為十六進位數字的字元串。格式說明符的大小寫指示對大於 9 的十六進位數字使用大寫字元還是小寫字元。例如,使用“X”產生“ABCDEF”,使用“x”產生“abcdef”。

精度說明符指示結果字元串中所需的最少數字個數。如果需要的話,則用零填充該數字的左側,以產生精度說明符給定的數字個數。 

任何其他單個字元
(未知說明符)
(未知說明符將引發運行庫格式異常。)


自定義數字格式字元串

格式說明符 名稱 說明 
0
零占位符
如果格式化的值在格式字元串中出現“0”的位置有一個數字,則此數字被覆制到結果字元串中。小數點前最左邊的“0”的位置和小數點後最右邊的“0”的位置確定總在結果字元串中出現的數字範圍。

“00”說明符使得值被舍入到小數點前最近的數字,其中零位總被捨去。例如,用“00”格式化 34.5 將得到值 35。

#
數字占位符
如果格式化的值在格式字元串中出現“#”的位置有一個數字,則此數字被覆制到結果字元串中。否則,結果字元串中的此位置不存儲任何值。

請註意,如果“0”不是有效數字,此說明符永不顯示“0”字元,即使“0”是字元串中唯一的數字。如果“0”是所顯示的數字中的有效數字,則顯示“0”字元。

“##”格式字元串使得值被舍入到小數點前最近的數字,其中零總被捨去。例如,用“##”格式化 34.5 將得到值 35。

.
小數點
格式字元串中的第一個“.”字元確定格式化的值中的小數點分隔符的位置;任何其他“.”字元被忽略。

用作小數點分隔符的實際字元由控制格式化的 NumberFormatInfo 的 NumberDecimalSeparator 屬性確定。

,
千位分隔符和數字比例換算
“,”字元可作為千位分隔符說明符和數字比例換算說明符。

千位分隔符說明符:如果在兩個數字占位符(0 或 #)之間指定一個或多個“,”字元用於設置數字整數位的格式,則在輸出的整數部分中每個數字組之間插入一個組分隔符字元。

當前 NumberFormatInfo 對象的 NumberGroupSeparator 和 NumberGroupSizes 屬性將確定用作數字組分隔符的字元以及每個數字組的大小。例如,如果使用字元串“#,#”和固定區域性對數字 1000 進行格式化,則輸出為“1,000”。

數字比例換算說明符:如果在緊鄰顯式或隱式小數點的左側指定一個或多個“,”字元,則每出現一個數字比例換算說明符便將要格式化的數字除以 1000。例如,如果使用字元串“0,,”對數字 1000000000 進行格式化,則輸出為“100”。

可以在同一格式字元串中使用千位分隔符說明符和數字比例換算說明符。例如,如果使用字元串“#,0,,”和固定區域性對數字 10000000000 進行格式化,則輸出為“1,000”。 

%
百分比占位符
在格式字元串中出現“%”字元將導致數字在格式化之前乘以 100。適當的符號插入到數字本身在格式字元串中出現“%”的位置。使用的百分比字元由當前的 NumberFormatInfo 類確定。

E0

E+0

E-0

e0

e+0

e-0
科學記數法
如果“E”、“E+”、“E-”、“e”、“e+”或“e-”中的任何一個字元串出現在格式字元串中,而且後面緊跟至少一個“0”字元,則數字用科學記數法來格式化,在數字和指數之間插入“E”或“e”。跟在科學記數法指示符後面的“0”字元數確定指數輸出的最小位數。“E+”和“e+”格式指示符號字元(正號或負號)應總是置於指數前面。“E”、“E-”、“e”或“e-”格式指示符號字元僅置於負指數前面。

\
轉義符
在 C# 和 C++ 中,反斜杠字元使格式字元串中的下一個字元被解釋為轉義序列。它與傳統的格式化序列一起使用,如“\n”(換行)。

在某些語言中,轉義符本身用作文本時必須跟在轉義符之後。否則,編譯器將該字元理解為轉義符。使用字元串“\\”顯示“\”。

請註意,Visual Basic 中不支持此轉義符,但是 ControlChars 提供相同的功能。

’ABC’

"ABC"
字元串
引在單引號或雙引號中的字元被覆制到結果字元串中,而且不影響格式化。

;
部分分隔符
“;”字元用於分隔格式字元串中的正數、負數和零各部分。

其他
所有其他字元
所有其他字元被覆制到結果字元串中,而且不影響格式化。


標準 DateTime 格式字元串

格式說明符 名稱 說明 
d
短日期模式
表示由當前 ShortDatePattern 屬性定義的自定義 DateTime 格式字元串。

例如,用於固定區域性的自定義格式字元串為“MM/dd/yyyy”。

D
長日期模式
表示由當前 LongDatePattern 屬性定義的自定義 DateTime 格式字元串。

例如,用於固定區域性的自定義格式字元串為“dddd, dd MMMM yyyy”。

f
完整日期/時間模式(短時間)
表示長日期 (D) 和短時間 (t) 模式的組合,由空格分隔。

F
完整日期/時間模式(長時間)
表示由當前 FullDateTimePattern 屬性定義的自定義 DateTime 格式字元串。

例如,用於固定區域性的自定義格式字元串為“dddd, dd MMMM yyyy HH:mm:ss”。

g
常規日期/時間模式(短時間)
表示短日期 (d) 和短時間 (t) 模式的組合,由空格分隔。

G
常規日期/時間模式(長時間)
表示短日期 (d) 和長時間 (T) 模式的組合,由空格分隔。

M 或 m
月日模式
表示由當前 MonthDayPattern 屬性定義的自定義 DateTime 格式字元串。

例如,用於固定區域性的自定義格式字元串為“MMMM dd”。

o
往返日期/時間模式
表示使用保留時區信息的模式的自定義 DateTime 格式字元串。該模式專用於往返 DateTime 格式(包括文本形式的 Kind 屬性)。隨後將 Parse 或 ParseExact 與正確的 Kind 屬性值一起使用可以對格式化的字元串進行反向分析。

自定義格式字元串為“yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK”。

用於此說明符的模式是定義的標準。因此,無論所使用的區域性或所提供的格式提供程式是什麼,它總是相同的。

R 或 r
RFC1123 模式
表示由當前 RFC1123Pattern 屬性定義的自定義 DateTime 格式字元串。該模式是定義的標準,並且屬性是只讀的。因此,無論所使用的區域性或所提供的格式提供程式是什麼,它總是相同的。

定義格式字元串為“ddd, dd MMM yyyy HH':'mm':'ss 'GMT'”。

格式化不會修改正在格式化的 DateTime 對象的值。因此,應用程式在使用此格式說明符之前必須將該值轉換為協調世界時 (UTC)。

s
可排序的日期/時間模式;符合 ISO 8601
表示由當前 SortableDateTimePattern 屬性定義的自定義 DateTime 格式字元串。此模式是定義的標準,並且屬性是只讀的。因此,無論所使用的區域性或所提供的格式提供程式是什麼,它總是相同的。

自定義格式字元串為“yyyy'-'MM'-'dd'T'HH':'mm':'ss”。

t
短時間模式
表示由當前 ShortTimePattern 屬性定義的自定義 DateTime 格式字元串。

例如,用於固定區域性的自定義格式字元串為“HH:mm”。

T
長時間模式
表示由當前 LongTimePattern 屬性定義的自定義 DateTime 格式字元串。

例如,用於固定區域性的自定義格式字元串為“HH:mm:ss”。

u
通用的可排序日期/時間模式
表示由當前 UniversalSortableDateTimePattern 屬性定義的自定義 DateTime 格式字元串。此模式是定義的標準,並且屬性是只讀的。因此,無論所使用的區域性或所提供的格式提供程式是什麼,它總是相同的。

自定義格式字元串為“yyyy'-'MM'-'dd HH':'mm':'ss'Z'”。

格式化日期和時間時不進行時區轉換。因此,應用程式在使用此格式說明符之前必須將本地日期和時間轉換為協調世界時 (UTC)。

U
通用的可排序日期/時間模式
表示由當前 FullDateTimePattern 屬性定義的自定義 DateTime 格式字元串。

此模式與完整日期/長時間 (F) 模式相同。但是,格式化將作用於等效於正在格式化的 DateTime 對象的協調世界時 (UTC)。

Y 或 y
年月模式
表示由當前 YearMonthPattern 屬性定義的自定義 DateTime 格式字元串。

例如,用於固定區域性的自定義格式字元串為“yyyy MMMM”。

任何其他單個字元
(未知說明符)
未知說明符將引發運行時格式異常。


自定義 DateTime 格式字元串

格式說明符 說明 
d
將月中日期表示為從 1 至 31 的數字。一位數字的日期設置為不帶前導零的格式。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

dd
將月中日期表示為從 01 至 31 的數字。一位數字的日期設置為帶前導零的格式。

ddd
將一周中某天的縮寫名稱表示為當前 System.Globalization.DateTimeFormatInfo.AbbreviatedDayNames 屬性中定義的名稱。

dddd(另加任意數量的“d”說明符) 
將一周中某天的全名錶示為當前 System.Globalization.DateTimeFormatInfo.DayNames 屬性中定義的名稱。

f
表示秒部分的最高有效位。

請註意,如果“f”格式說明符單獨使用,沒有其他格式說明符,則該說明符被看作是“f”標準 DateTime 格式說明符(完整日期/時間模式)。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

將此格式說明符與 ParseExact 或 TryParseExact 方法一起使用時,所用“f”格式說明符的數目指示要分析的秒部分的最高有效位位數。 

ff
表示秒部分的兩個最高有效位。

fff
表示秒部分的三個最高有效位。

ffff
表示秒部分的四個最高有效位。

fffff
表示秒部分的五個最高有效位。

ffffff
表示秒部分的六個最高有效位。

fffffff
表示秒部分的七個最高有效位。

F
表示秒部分的最高有效位。如果該位為零,則不顯示任何信息。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

將此格式說明符與 ParseExact 或 TryParseExact 方法一起使用時,所用“F”格式說明符的數目指示要分析的秒部分的最高有效位最大位數。

FF
表示秒部分的兩個最高有效位。但不顯示尾隨零(或兩個零位)。

FFF
表示秒部分的三個最高有效位。但不顯示尾隨零(或三個零位)。

FFFF
表示秒部分的四個最高有效位。但不顯示尾隨零(或四個零位)。

FFFFF
表示秒部分的五個最高有效位。但不顯示尾隨零(或五個零位)。

FFFFFF
表示秒部分的六個最高有效位。但不顯示尾隨零(或六個零位)。

FFFFFFF
表示秒部分的七個最高有效位。但不顯示尾隨零(或七個零位)。

g 或 gg(另加任意數量的“g”說明符) 
表示時期或紀元(例如 A.D.)。如果要設置格式的日期不具有關聯的時期或紀元字元串,則忽略該說明符。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

h
將小時表示為從 1 至 12 的數字,即通過 12 小時製表示小時,自午夜或中午開始對整小時計數。因此,午夜後經過的某特定小時數與中午過後的相同小時數無法加以區分。小時數不進行舍入,一位數字的小時數設置為不帶前導零的格式。例如,給定時間為 5:43,則此格式說明符顯示“5”。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

hh, hh(另加任意數量的“h”說明符) 
將小時表示為從 01 至 12 的數字,即通過 12 小時製表示小時,自午夜或中午開始對整小時計數。因此,午夜後經過的某特定小時數與中午過後的相同小時數無法加以區分。小時數不進行舍入,一位數字的小時數設置為帶前導零的格式。例如,給定時間為 5:43,則此格式說明符顯示“05”。

H
將小時表示為從 0 至 23 的數字,即通過從零開始的 24 小時製表示小時,自午夜開始對小時計數。一位數字的小時數設置為不帶前導零的格式。 

HH, HH(另加任意數量的“H”說明符) 
將小時表示為從 00 至 23 的數字,即通過從零開始的 24 小時製表示小時,自午夜開始對小時計數。一位數字的小時數設置為帶前導零的格式。 

K
表示 DateTime.Kind 屬性的不同值,即“Local”、“Utc”或“Unspecified”。此說明符以文本形式迴圈設置 Kind 值並保留時區。如果 Kind 值為“Local”,則此說明符等效於“zzz”說明符,用於顯示本地時間偏移量,例如“-07:00”。對於“Utc”類型值,該說明符顯示字元“Z”以表示 UTC 日期。對於“Unspecified”類型值,該說明符等效於“”(無任何內容)。

m
將分鐘錶示為從 0 至 59 的數字。分鐘錶示自前一小時後經過的整分鐘數。一位數字的分鐘數設置為不帶前導零的格式。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

mm, mm(另加任意數量的“m”說明符) 
將分鐘錶示為從 00 至 59 的數字。分鐘錶示自前一小時後經過的整分鐘數。一位數字的分鐘數設置為帶前導零的格式。

M
將月份表示為從 1 至 12 的數字。一位數字的月份設置為不帶前導零的格式。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

MM
將月份表示為從 01 至 12 的數字。一位數字的月份設置為帶前導零的格式。

MMM
將月份的縮寫名稱表示為當前 System.Globalization.DateTimeFormatInfo.AbbreviatedMonthNames 屬性中定義的名稱。

MMMM
將月份的全名錶示為當前 System.Globalization.DateTimeFormatInfo.MonthNames 屬性中定義的名稱。

s
將秒錶示為從 0 至 59 的數字。秒錶示自前一分鐘後經過的整秒數。一位數字的秒數設置為不帶前導零的格式。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

ss, ss(另加任意數量的“s”說明符) 
將秒錶示為從 00 至 59 的數字。秒錶示自前一分鐘後經過的整秒數。一位數字的秒數設置為帶前導零的格式。

t
表示當前 System.Globalization.DateTimeFormatInfo.AMDesignator 或 System.Globalization.DateTimeFormatInfo.PMDesignator 屬性中定義的 A.M./P.M. 指示符的第一個字元。如果正在格式化的時間中的小時數小於 12,則使用 A.M. 指示符;否則使用 P.M. 指示符。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

tt, tt(另加任意數量的“t”說明符) 
將 A.M./P.M. 指示符表示為當前 System.Globalization.DateTimeFormatInfo.AMDesignator 或 System.Globalization.DateTimeFormatInfo.PMDesignator 屬性中定義的內容。如果正在格式化的時間中的小時數小於 12,則使用 A.M. 指示符;否則使用 P.M. 指示符。

y
將年份表示為最多兩位數字。如果年份多於兩位數,則結果中僅顯示兩位低位數。如果年份少於兩位數,則該數字設置為不帶前導零的格式。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

yy
將年份表示為兩位數字。如果年份多於兩位數,則結果中僅顯示兩位低位數。如果年份少於兩位數,則用前導零填充該數字使之達到兩位數。

yyy
將年份表示為三位數字。如果年份多於三位數,則結果中僅顯示三位低位數。如果年份少於三位數,則用前導零填充該數字使之達到三位數。

請註意,對於年份可以為五位數的泰國佛歷,此格式說明符將顯示全部五位數。 

yyyy
將年份表示為四位數字。如果年份多於四位數,則結果中僅顯示四位低位數。如果年份少於四位數,則用前導零填充該數字使之達到四位數。

請註意,對於年份可以為五位數的泰國佛歷,此格式說明符將呈現全部五位數。 

yyyyy(另加任意數量的“y”說明符)
將年份表示為五位數字。如果年份多於五位數,則結果中僅顯示五位低位數。如果年份少於五位數,則用前導零填充該數字使之達到五位數。

如果存在額外的“y”說明符,則用所需個數的前導零填充該數字使之達到“y”說明符的數目。 

z
表示系統時間距格林威治時間 (GMT) 以小時為單位測量的帶符號時區偏移量。例如,位於太平洋標準時區中的電腦的偏移量為“-8”。

偏移量始終顯示為帶有前導符號。加號 (+) 指示小時數早於 GMT,減號 (-) 指示小時數遲於 GMT。偏移量範圍為 –12 至 +13。一位數字的偏移量設置為不帶前導零的格式。偏移量受夏時制影響。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

zz
表示系統時間距格林威治時間 (GMT) 以小時為單位測量的帶符號時區偏移量。例如,位於太平洋標準時區中的電腦的偏移量為“-08”。

偏移量始終顯示為帶有前導符號。加號 (+) 指示小時數早於 GMT,減號 (-) 指示小時數遲於 GMT。偏移量範圍為 –12 至 +13。一位數字的偏移量設置為帶前導零的格式。偏移量受夏時制影響。

zzz, zzz(另加任意數量的“z”說明符) 
表示系統時間距格林威治時間 (GMT) 以小時和分鐘為單位測量的帶符號時區偏移量。例如,位於太平洋標準時區中的電腦的偏移量為“-08:00”。

偏移量始終顯示為帶有前導符號。加號 (+) 指示小時數早於 GMT,減號 (-) 指示小時數遲於 GMT。偏移量範圍為 –12 至 +13。一位數字的偏移量設置為帶前導零的格式。偏移量受夏時制影響。

:
當前 System.Globalization.DateTimeFormatInfo.TimeSeparator 屬性中定義的時間分隔符,用於區分小時、分鐘和秒。

/
當前 System.Globalization.DateTimeFormatInfo.DateSeparator 屬性中定義的日期分隔符,用於區分年、月和日。

"
帶引號的字元串(引號)。顯示兩個引號 (") 之間的任意字元串的文本值。在每個引號前使用轉義符 (\)。 

'
帶引號的字元串(撇號)。顯示兩個撇號 (') 字元之間的任意字元串的文本值。

%c
當自定義 DateTime 格式字元串只包含自定義格式說明符“c”時,表示與該自定義格式說明符關聯的結果。也就是說,若要單獨使用自定義格式說明符“d”、“f”、“F”、“h”、“m”、“s”、“t”、“y”、“z”、“H”或“M”,請指定“%d”、“%f”、“%F”、“%h”、“%m”、“%s”、“%t”、“%y”、“%z”、“%H”或“%M”。有關使用單個格式說明符的更多信息,請參見使用單個自定義格式說明符。

\c
轉義符。當字元“c”前帶有轉義符 (\) 時,將該字元顯示為文本。若要將反斜杠字元本身插入結果字元串,請使用兩個轉義符(“\\”)。 

任何其他字元 
所有其他字元被覆制到結果字元串中,而且不影響格式化。


枚舉格式字元串

格式字元串 結果 
G 或 g
如有可能,將枚舉項顯示為字元串值,否則顯示當前實例的整數值。如果枚舉定義中設置了 Flags 屬性,則串聯每個有效項的字元串值並將各值用逗號分開。如果未設置 Flags 屬性,則將無效值顯示為數字項。

F 或 f
如有可能,將枚舉項顯示為字元串值。如果值可以完全顯示為枚舉項的總和(即使未提供 Flags 屬性),則串聯每個有效項的字元串值並將各值用逗號分開。如果值不能完全由枚舉項確定,則將值格式化為整數值。

D 或 d
以儘可能短的表示形式將枚舉項顯示為整數值。

X 或 x
將枚舉項顯示為十六進位值。按需要將值表示為帶有前導零,以確保值的長度最少有八位


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用VS Code開發 調試.NET Core RC2應用程式,由於.NET Core 目前還處於預覽版。 本文使用微軟提供的示例進行開發及調試。 https://github.com/aspnet/cli-samples .NET Core 介紹及說明: https://github.com/do ...
  • 創建測試的過程可參考如下鏈接 http://www.cnblogs.com/libaoquan/p/5296384.html (一)如何使用VS2015查看測試結果 問題描述:使用VS2010執行單元測試,會出現如下測試結果視窗 VS2015只有如下結果 查找相關資料後,發現VS2010會自動生成此 ...
  • 軟體是服務組織的系統,而任何組織一定會涉及到許可權;所以許可權控制是一個系統的核心基礎,不管你做啥系統都逃不過:有人的地方就有江湖,有系統就有許可權管理。 今天我們繼續講一下組織機構的管理: 線上演示視頻 優酷視頻地址,手機無法播放的點擊這裡:http://v.youku.com/v_show/id_XM ...
  • 安裝完成後,在“控制面板”中啟動“添加刪除程式”,選中Vs2008,點擊“更改、刪除”,輸入序列號:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T ...
  • 本來沒打算單獨寫的,但是在自己弄測試小程式的時候,越寫發現不清楚的東西越多,所以實踐又一次證明:紙上得來終覺淺,絕知此事要躬行! 直接貼代碼了: 另外:祝大家國慶節快樂!我也要去參加一起長大的哥哥的婚禮了啊......時間啊,就是這麼匆匆溜走不回頭的....... ...
  • 引言 小弟工作過2家小作坊!項目經理使用的框架都是基於EF的Repository(倉儲)設計模式,我想說這種模式根本就是錯誤的使用! 更可怕的是博客園裡面也有很多這種教程! 之所以說錯誤的!是因為EF本身就是Repository(倉儲)的設計! 何必再套一層包裹給自己找事?而且也套的醜陋無比! 讓我 ...
  • VSCode,安裝插件:C# for Visual Studio Code (powered by OmniSharp),關於C#代碼的插件提示後,提示安裝DotNetCore.1.0.1 在安裝DotNetCore.1.0.1-VS2015Tools.Preview2.0.2出現0x80072f8... ...
  • 這個屬性我們平時可能並不怎麼用.先來看下MSDN上的解釋: 解釋的非常專業,然而我並沒有看懂. 說說我的理解吧:把這個屬性設置為false,看起來沒有變化,但操作上已經把他完全忽視了,不觸發事件,可以直接點到它下麵的東西. 這個屬性能方便的解決工作中常見的麻煩,比如下麵這個例子: 註意上面那部分.效 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...