Gia*_*ini 4 .net c# culture timezone datetime
我需要根据两个字母的 ISO-3166 国家/地区代码本地化我的 C# DateTime 对象
https://en.wikipedia.org/wiki/ISO_3166-2
有办法做到吗?
我只能使用 5 个字符的国家/地区表示(en-US、nl-NL 等..)来应用给定的文化
System.Globalization.CultureInfo cultureinfo =
new System.Globalization.CultureInfo("nl-NL");
DateTime dt = DateTime.Parse(date, cultureinfo);
Run Code Online (Sandbox Code Playgroud)
即使是满射映射也可以(即多个国家/地区代码映射到单一 C# 文化)
有关预定义区域性名称的列表,请参阅国家语言支持 (NLS) API 参考
也来自CultureInfo.TwoLetterISOLanguageName
物业
当前 CultureInfo 语言的 ISO 639-1 两字母代码。
没有US
定义,但有en
(如果您确实必须使用两个字母的名称),您可以使用它。所有这些都在该标准中定义。
var cultureInfo = new CultureInfo("en");
Run Code Online (Sandbox Code Playgroud)
所有这些两个字母的代码都是有效的,除了iv
for 之外InvariantCulture
,所以我们可以忽略它。我写了一个简单的代码来检查它。
foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures))
{
try
{
var c = new CultureInfo(culture.TwoLetterISOLanguageName);
}
catch (Exception)
{
Console.WriteLine(culture.TwoLetterISOLanguageName); // Only prints "iv"
}
}
Run Code Online (Sandbox Code Playgroud)
如何创建自己的映射?我建议遵循以下步骤;
KeyValuePair<string, string>
结构,其中第一个包含 ISO-3166 双字母代码,第二个包含 ISO 639-1 双字母代码。CultureInfo
该两字母代码创建您的代码。 归档时间: |
|
查看次数: |
15976 次 |
最近记录: |