C# DateTime.ToString依據分歧說話生成響應的時光格局。本站提示廣大學習愛好者:(C# DateTime.ToString依據分歧說話生成響應的時光格局)文章只能為提供參考,不一定能成為您想要的結果。以下是C# DateTime.ToString依據分歧說話生成響應的時光格局正文
我想年夜家對DateTime.ToString()辦法的用法確定曾經異常熟習了,但我想年夜家用過的年夜部門用法都是:DateTime.ToString(“format”),不外本文想講述的是它的另外一個重載辦法DateTime.ToString("format",IFormatProvider)。
假如年夜家做的項目中有多說話的需求的話,那末確定少不了會有的功效要顯示一個時光,因為文差別域每種說話用戶對時光格局的需求確定是紛歧樣的,好比英文中的時光格局是:12/2/2013 8:20:22 PM,而德語的格局是:02.12.2013 20:20:22;這個差別照樣很年夜的,並且假如說話種數多的話,也很難對每種特定說話的時光格局作特定的處置,並且也晦氣於法式的擴大性。不外萬幸的是微軟給我們供給了CultureInfo這個類,同時這個類繼續了IFormatProvider這個接口,所以我們可以應用它來獲得我們想要的時光格局(其它格局也能夠經由過程它來獲得,比哪泉幣等)。
閒話不多說,直接看代碼:
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("zh-cn"); DateTime dt = Convert.ToDateTime("2013-12-2 20:20:22"); Console.WriteLine("以後說話:" + Thread.CurrentThread.CurrentCulture.DisplayName); Console.WriteLine("日期:2013-12-2 20:20:22"); Console.WriteLine("d-短日期形式: " + dt.ToString("d", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("D-永日期形式: " + dt.ToString("D", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("f-完全日期/時光形式(短時光): " + dt.ToString("f", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("F-完全日期/時光形式(長時光): " + dt.ToString("F", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("g-慣例日期/時光形式(短時光): " + dt.ToString("g", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("G-慣例日期/時光形式(長時光): " + dt.ToString("G", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("m-月日形式(m): " + dt.ToString("m", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("M-月日形式(M): " + dt.ToString("M", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("o-往復日期/時光形式: " + dt.ToString("o", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("R-RFC1123 形式: " + dt.ToString("R", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("s-可排序的日期/時光形式;相符 ISO 8601: " + dt.ToString("s", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("t-短時光形式: " + dt.ToString("t", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("T-長時光形式: " + dt.ToString("T", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("u-通用的可排序日期/時光形式: " + dt.ToString("u", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("U-通用的可排序日期/時光形式: " + dt.ToString("U", Thread.CurrentThread.CurrentCulture)); Console.WriteLine("Y-年代形式: " + dt.ToString("Y", Thread.CurrentThread.CurrentCulture)); Console.WriteLine(dt.ToString("yyyyMMdd")); Console.ReadLine();
在現實運用中,我們可以把第一行的“de-de“換成用戶切換的說話,然後經由過程設置以後的線程說話為以後說話品種,那末我們便可以在法式的任一名置經由過程”Thread.CurrentThread.CurrentCulture”來取得。之前運轉成果比較以下:
從成果可以曉得,假如想經由過程CultureInfo來獲得分歧的說話格局,那末就不克不及用"yyyyMMdd","yyyy-MM-dd"等這類自界說格局。
附:獲得泉幣格局的寫法為:decimal d = 123659.256M; d.ToString("c", Thread.CurrentThread.CurrentCulture.NumberFormat);
關於CultureInfo 類
CultureInfo 類保留區域性特定的信息,如聯系關系的說話、子說話、國度/地域、日歷和區域性商定。此類還供給對 DateTimeFormatInfo、NumberFormatInfo、CompareInfo 和 TextInfo 的區域性特定實例的拜訪。這些對象包括區域性特定操作(如年夜小寫、格局化日期和數字和比擬字符串)所需的信息。
區域性稱號和標識符
區域性稱號遵守 RFC 1766 尺度,格局為“<languagecode2>-<country/regioncode2>”,個中 <languagecode2> 是從 ISO 639-1 派生的由兩個小寫字母組成的代碼,<country/regioncode2> 是從 ISO 3166 派生的由兩個年夜寫字母組成的代碼。例如,美國英語為“en-US”。在雙字母說話代碼弗成用的情形中,將應用從 ISO 639-2 派生的三字母代碼;例如,三字母代碼“div”用於應用 Dhivehi 說話的區域。某些區域性稱號帶有指定書寫符號的後綴;例如“-Cyrl”指定西裡爾語書寫符號,“-Latn”指定拉丁語書寫符號。
System.Globalization 定名空間中的此類和其他類接收並應用以下預界說的區域性稱號和標識符。
區域性稱號
區域性標識符
說話-國度/地域
""(空字符串)
0x007F
固定區域性
af
0x0036
南非荷蘭語
af-ZA
0x0436
南非荷蘭語 - 南非
sq
0x001C
阿爾巴尼亞語
sq-AL
0x041C
阿爾巴尼亞語 - 阿爾巴尼亞
ar
0x0001
阿拉伯語
ar-DZ
0x1401
阿拉伯語 - 阿爾及利亞
ar-BH
0x3C01
阿拉伯語 - 巴林
ar-EG
0x0C01
阿拉伯語 - 埃及
ar-IQ
0x0801
阿拉伯語 - 伊拉克
ar-JO
0x2C01
阿拉伯語 - 約旦
ar-KW
0x3401
阿拉伯語 - 科威特
ar-LB
0x3001
阿拉伯語 - 黎巴嫩
ar-LY
0x1001
阿拉伯語 - 利比亞
ar-MA
0x1801
阿拉伯語 - 摩洛哥
ar-OM
0x2001
阿拉伯語 - 阿曼
ar-QA
0x4001
阿拉伯語 - 卡塔爾
ar-SA
0x0401
阿拉伯語 - 沙特阿拉伯
ar-SY
0x2801
阿拉伯語 - 敘利亞
ar-TN
0x1C01
阿拉伯語 - 突尼斯
ar-AE
0x3801
阿拉伯語 - 阿拉伯結合酋長國
ar-YE
0x2401
阿拉伯語 - 也門
hy
0x002B
亞美尼亞語
hy-AM
0x042B
亞美尼亞語 - 亞美尼亞
az
0x002C
阿澤裡語
az-AZ-Cyrl
0x082C
阿澤裡語(西裡爾語)- 阿塞拜疆
az-AZ-Latn
0x042C
阿澤裡語(拉丁)- 阿塞拜疆
eu
0x002D
巴斯克語
eu-ES
0x042D
巴斯克語 - 巴斯克地域
be
0x0023
白俄羅斯語
be-BY
0x0423
白俄羅斯語 - 白俄羅斯
bg
0x0002
保加利亞語
bg-BG
0x0402
保加利亞語 - 保加利亞
ca
0x0003
加泰羅尼亞語
ca-ES
0x0403
加泰羅尼亞語 - 加泰羅尼亞地域
zh-HK
0x0C04
中文 - 噴鼻港特殊行政區
zh-MO
0x1404
中文 - 澳門特殊行政區
zh-CN
0x0804
中文 - 中國
zh-CHS
0x0004
中文(簡體)
zh-SG
0x1004
中文 - 新加坡
zh-TW
0x0404
中文 - 台灣
zh-CHT
0x7C04
中文(繁體)
hr
0x001A
克羅地亞語
hr-HR
0x041A
克羅地亞語 - 克羅地亞
cs
0x0005
捷克語
cs-CZ
0x0405
捷克語 - 捷克共和國
da
0x0006
丹麥語
da-DK
0x0406
丹麥語 - 丹麥
div
0x0065
馬爾代夫語
div-MV
0x0465
馬爾代夫語 - 馬爾代夫
nl
0x0013
荷蘭語
nl-BE
0x0813
荷蘭語 - 比利時
nl-NL
0x0413
荷蘭語 - 荷蘭
en
0x0009
英語
en-AU
0x0C09
英語 - 澳年夜利亞
en-BZ
0x2809
英語 - 伯利茲
en-CA
0x1009
英語 - 加拿年夜
en-CB
0x2409
英語 - 加勒比
en-IE
0x1809
英語 - 愛爾蘭
en-JM
0x2009
英語 - 牙買加
en-NZ
0x1409
英語 - 新西蘭
en-PH
0x3409
英語 - 菲律賓
en-ZA
0x1C09
英語 - 南非
en-TT
0x2C09
英語 - 挺拔尼達和多巴哥
en-GB
0x0809
英語 - 英國
en-US
0x0409
英語 - 美國
en-ZW
0x3009
英語 - 津巴布韋
et
0x0025
愛沙尼亞語
et-EE
0x0425
愛沙尼亞語 - 愛沙尼亞
fo
0x0038
法羅語
fo-FO
0x0438
法羅語 - 法羅群島
fa
0x0029
波斯語
fa-IR
0x0429
波斯語 - 伊朗
fi
0x000B
芬蘭語
fi-FI
0x040B
芬蘭語 - 芬蘭
fr
0x000C
法語
fr-BE
0x080C
法語 - 比利時
fr-CA
0x0C0C
法語 - 加拿年夜
fr-FR
0x040C
法語 - 法國
fr-LU
0x140C
法語 - 盧森堡
fr-MC
0x180C
法語 - 摩納哥
fr-CH
0x100C
法語 - 瑞士
gl
0x0056
加利西亞語
gl-ES
0x0456
加利西亞語 - 加利西亞地域
ka
0x0037
格魯吉亞語
ka-GE
0x0437
格魯吉亞語 - 格魯吉亞
de
0x0007
德語
de-AT
0x0C07
德語 - 奧天時
de-DE
0x0407
德語 - 德國
de-LI
0x1407
德語 - 列支敦士登
de-LU
0x1007
德語 - 盧森堡
de-CH
0x0807
德語 - 瑞士
el
0x0008
希臘語
el-GR
0x0408
希臘語 - 希臘
gu
0x0047
古吉拉特語
gu-IN
0x0447
古吉拉特語 - 印度
he
0x000D
希伯來語
he-IL
0x040D
希伯來語 - 以色列
hi
0x0039
印地語
hi-IN
0x0439
印地語 - 印度
hu
0x000E
匈牙利語
hu-HU
0x040E
匈牙利語 - 匈牙利
is
0x000F
冰島語
is-IS
0x040F
冰島語 - 冰島
id
0x0021
印度尼西亞語
id-ID
0x0421
印度尼西亞語 - 印度尼西亞
it
0x0010
意年夜利語
it-IT
0x0410
意年夜利語 - 意年夜利
it-CH
0x0810
意年夜利語 - 瑞士
ja
0x0011
日語
ja-JP
0x0411
日語 - 日本
kn
0x004B
卡納達語
kn-IN
0x044B
卡納達語 - 印度
kk
0x003F
哈薩克語
kk-KZ
0x043F
哈薩克語 - 哈薩克斯坦
kok
0x0057
貢根語
kok-IN
0x0457
貢根語 - 印度
ko
0x0012
朝鮮語
ko-KR
0x0412
朝鮮語 - 韓國
ky
0x0040
吉爾吉斯語
ky-KG
0x0440
吉爾吉斯語 - 吉爾吉斯坦
lv
0x0026
拉脫維亞語
lv-LV
0x0426
拉脫維亞語 - 拉脫維亞
lt
0x0027
立陶宛語
lt-LT
0x0427
立陶宛語 - 立陶宛
mk
0x002F
馬其頓語
mk-MK
0x042F
馬其頓語 - 前南斯拉夫同盟馬其頓共和國
ms
0x003E
馬來語
ms-BN
0x083E
馬來語 - 文萊
ms-MY
0x043E
馬來語 - 馬來西亞
mr
0x004E
馬拉地語
mr-IN
0x044E
馬拉地語 - 印度
mn
0x0050
蒙古語
mn-MN
0x0450
蒙古語 - 蒙古
no
0x0014
挪威語
nb-NO
0x0414
挪威語(伯克梅爾)- 挪威
nn-NO
0x0814
挪威語(尼諾斯克)- 挪威
pl
0x0015
波蘭語
pl-PL
0x0415
波蘭語 - 波蘭
pt
0x0016
葡萄牙語
pt-BR
0x0416
葡萄牙語 - 巴西
pt-PT
0x0816
葡萄牙語 - 葡萄牙
pa
0x0046
旁遮普語
pa-IN
0x0446
旁遮普語 - 印度
ro
0x0018
羅馬尼亞語
ro-RO
0x0418
羅馬尼亞語 - 羅馬尼亞
ru
0x0019
俄語
ru-RU
0x0419
俄語 - 俄羅斯
sa
0x004F
梵語
sa-IN
0x044F
梵語 - 印度
sr-SP-Cyrl
0x0C1A
塞爾維亞語(西裡爾語)- 塞爾維亞
sr-SP-Latn
0x081A
塞爾維亞語(拉丁)- 塞爾維亞
sk
0x001B
斯洛伐克語
sk-SK
0x041B
斯洛伐克語 - 斯洛伐克
sl
0x0024
斯洛文尼亞語
sl-SI
0x0424
斯洛文尼亞語 - 斯洛文尼亞
es
0x000A
西班牙語
es-AR
0x2C0A
西班牙語 - 阿根廷
es-BO
0x400A
西班牙語 - 玻利維亞
es-CL
0x340A
西班牙語 - 智利
es-CO
0x240A
西班牙語 - 哥倫比亞
es-CR
0x140A
西班牙語 - 哥斯達黎加
es-DO
0x1C0A
西班牙語 - 多米尼加共和國
es-EC
0x300A
西班牙語 - 厄瓜多爾
es-SV
0x440A
西班牙語 - 薩爾瓦多
es-GT
0x100A
西班牙語 - 危地馬拉
es-HN
0x480A
西班牙語 - 洪都拉斯
es-MX
0x080A
西班牙語 - 墨西哥
es-NI
0x4C0A
西班牙語 - 尼加拉瓜
es-PA
0x180A
西班牙語 - 巴拿馬
es-PY
0x3C0A
西班牙語 - 巴拉圭
es-PE
0x280A
西班牙 - 秘魯
es-PR
0x500A
西班牙語 - 波多黎各
es-ES
0x0C0A
西班牙語 - 西班牙
es-UY
0x380A
西班牙語 - 烏拉圭
es-VE
0x200A
西班牙語 - 委內瑞拉
sw
0x0041
斯瓦希裡語
sw-KE
0x0441
斯瓦希裡語 - 肯尼亞
sv
0x001D
瑞典語
sv-FI
0x081D
瑞典語 - 芬蘭
sv-SE
0x041D
瑞典語 - 瑞典
syr
0x005A
敘利亞語
syr-SY
0x045A
敘利亞語 - 敘利亞
ta
0x0049
泰米爾語
ta-IN
0x0449
泰米爾語 - 印度
tt
0x0044
鞑靼語
tt-RU
0x0444
鞑靼語 - 俄羅斯
te
0x004A
泰盧固語
te-IN
0x044A
泰盧固語 - 印度
th
0x001E
泰語
th-TH
0x041E
泰語 - 泰國
tr
0x001F
土耳其語
tr-TR
0x041F
土耳其語 - 土耳其
uk
0x0022
烏克蘭語
uk-UA
0x0422
烏克蘭語 - 烏克蘭
ur
0x0020
烏爾都語
ur-PK
0x0420
烏爾都語 - 巴基斯坦
uz
0x0043
烏茲別克語
uz-UZ-Cyrl
0x0843
烏茲別克語(西裡爾語)- 烏茲別克斯坦
uz-UZ-Latn
0x0443
烏茲別克語(拉丁)- 烏茲別克斯坦
vi
0x002A
越南語
vi-VN
0x042A
越南語 - 越南