C# 如何仅从.NET中的语言获取日名
假设我只有一个国家代码(en、de、fr),我需要用这种语言显示工作日。 我知道RegionInfo和CultureInfo,但我找不到解决方案。 如果我从(例如)“en”创建国家信息,则其中没有日期时间信息。 也可以只取第一个匹配区域。例如,en US代表en或de de代表de 我不知道日名是否有差异,但我知道在几个月内会有一些差异。 二月份——二月份——无论如何,我不在乎。 事件,如果它可能是“有点不同”(看到二月而不是二月)-它仍然是德国 这就是我想要达到的目标-周一写一篇文章-周一写一篇文章,然后再写一篇文章 有没有一种方法可以仅仅从语言代码创建一个区域?通常是在你说“我不在乎”的时候,你才开始反对API 无论如何,这应该是可行的:C# 如何仅从.NET中的语言获取日名,c#,cultureinfo,regioninfo,C#,Cultureinfo,Regioninfo,假设我只有一个国家代码(en、de、fr),我需要用这种语言显示工作日。 我知道RegionInfo和CultureInfo,但我找不到解决方案。 如果我从(例如)“en”创建国家信息,则其中没有日期时间信息。 也可以只取第一个匹配区域。例如,en US代表en或de de代表de 我不知道日名是否有差异,但我知道在几个月内会有一些差异。 二月份——二月份——无论如何,我不在乎。 事件,如果它可能是“有点不同”(看到二月而不是二月)-它仍然是德国 这就是我想要达到的目标-周一写一篇文章-周一写一
var list = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
var ci = list.FirstOrDefault(c => c.IetfLanguageTag.StartsWith("de"));
var ri = new RegionInfo(ci.Name);
Console.WriteLine("Today = {0:dddd MMMM yyyy}", DateTime.Today);
Dim days作为字符串()
将月份设置为字符串()
Dim cul作为新系统。全球化。文化信息(“de de”)
月数=截止日期时间格式月数
days=cul.DateTimeFormat.DayNames尝试以下方法:-
string culture=“您的文化”
CultureInfo myCulture=新的CultureInfo(文化)
DateTimeFormatInfo dtfi=myCulture.DateTimeFormat
dayString=dtfi.GetDayName(您在此处的日期..)
Charlie G这篇文章可能会有所帮助:要从“en”转到文化信息,一个更快的方法是
CultureInfo ci = CultureInfo.CreateSpecificCulture("en")
至于第二部分,我相信你是在问日名,所以你会写
string[] names = ci.DateTimeFormat.DayNames
由于“de”是一种中性文化,如果您尝试CultureInfo.GetCultureInfo(“de”),则无法从DateTimeFormat中获取日名
我建议您在本例中运行CultureInfo.CreateSpecificCulture(“de”),因为它将创建一个非中性的区域性…在“de”的情况下,我从.NET中得到了一个“de de”的区域性:D
CultureInfo tmp = CultureInfo.CreateSpecificCulture("de");
string[] names = tmp.DateTimeFormat.DayNames;
foreach(string name in names)
{
Console.WriteLine(name);
}
这将为您提供一个文化列表:
Dim ci As CultureInfo
For Each ci In CultureInfo.GetCultures(CultureTypes.SpecificCultures)
Console.WriteLine(ci.Name)
Next
输出:
阿拉伯语
保加利亚语
加泰罗尼亚语
繁体中文
捷克语
丹麦语
德德
埃尔格
恩美
芬兰语
法语
希伯来文
胡虎
是
它
日语
朝鲜语
荷兰语
挪威语
波兰语
葡萄牙语
滚
茹茹
人力资源
斯洛伐克语
sq AL
瑞典语
第
土耳其语
尿激酶
身份证
英国联合航空公司
在旁边
sl SI
et EE
吕吕
对,对
法尔
越南
海姆
阿兹拉坦阿兹
欧盟ES
mk-mk
南非荷兰语
卡戈
福福
你好
米女士
kk-KZ
ky千克
西南克
乌兹拉坦乌兹
tt RU
巴因
顾茵
助教
特因
千牛
林先生
萨因
锰锰
德国劳埃德船级社
角
syr-SY
dv MV
智商
中弘中国
德文
欧洲标准
es MX
fr BE
它叫CH
nl BE
nn否
葡萄牙语
高级拉丁语
sv-FI
阿兹赛尔阿兹
BN女士
uz-Cyrl-uz
ar-EG
中国香港
德阿特
恩奥
西班牙语
fr CA
高级Cyrl CS
阿尔利
zh SG
德鲁
恩卡
es GT
fr CH
ar DZ
zh-MO
德利
新西兰
es CR
吕神父
阿玛
恩尼
埃斯帕
fr MC
ar-TN
恩扎
是的
阿伦
恩吉姆
埃斯韦
阿耶
en-029
es公司
阿西
恩BZ
es PE
阿乔
恩特
阿根廷
氩磅
en ZW
es EC
ar千瓦
en-PH
es CL
氩原子发射
埃斯乌伊
ar BH
易怒的
ar质量保证
埃斯波
es SV
es HN
埃斯尼
es公共关系
sma编号
bn BD
英国皇家音乐学院学士
tg-Cyrl-TJ
英国政府
嗯,我的
mn Mong中国
prs AF
钨锡
rw rw
qut GT
萨鲁
gsw FR
co-FR
rm CH
新西兰密苏里州
ug CN
溴阻燃剂
莫哈卡
arn CL
盖伊
二CN
sma SE
高级拉顿文学士
库兹体育
ig NG
吉隆坡
lb LU
巴鲁
nso ZA
库兹波
吴友友
手机短信
豪撒语
人力资源学士
菲林
ps AF
fy NL
ne-NP
美国东部
伊乌罐头
库兹欧共体
斯尔克
smj SE
洛拉
km KH
cy GB
博康
硒硒
smj号
如
毫升
瑟菲
或者
高级青年文学学士
英国国民银行
恩恩
dsb DE
tk商标
smn-FI
oc FR
我们
塞诺
mt mt
英国文学学士
祖扎
xh ZA
tn ZA
tzm Latn DZ
iu Latn CA
hsb DE
DateTime.ToString(“dddd”,新文化信息(“zh TW”))
上述代码将于周一打印为星期一 (Chinise locale)。+1,但是您应该使用
文化类型。NeutralCultures
而不是特定文化
。@Randolpho:不,下一步是创建RegionInfo,并在使用中性文化时抛出。我们需要一个(随机)特定的区域性作为语言名称。问题是提供“-DE”部分(对于任何给定的语言)。虽然+1-每个中性区域性(“en”,“DE”)都与默认特定区域性(“en-US”,“DE-DE”)相关联,但还没有计算出此方法中的回退/查找。好的,这比我的第一个默认值要好。谢谢你Jennifer-Sooo easy:)也谢谢你Henk-亚军:)我猜你不能使用CultureInfo.CurrentCulture?