文化不受支持.参数名称:name US是无效的区域性标识符

Gia*_*ini 2 .net c# culture datetime

我尝试使用ISO-3166双字母国家代码来创建我的C#文化信息对象,以datetime根据区域设置格式化我的对象.

如果我尝试:

var cultureInfo = new CultureInfo("FR");
Run Code Online (Sandbox Code Playgroud)

它工作正常,如果我尝试:

var cultureInfo = new CultureInfo("US");
Run Code Online (Sandbox Code Playgroud)

它引发了一个异常:

文化不受支持.参数名称:name US是无效的区域性标识符.

有趣的是,"US"是一个有效的ISO-3166国家代码.

Son*_*nül 6

CultureInfo(string)构造函数文档;

有关预定义文化名称的列表,请参阅本地语言支持(NLS)API参考

也来自CultureInfo.TwoLetterISOLanguageName物业

例如,英文的两个字母缩写是en.

没有US定义,但有en(如果你真的必须使用两个字母名称),你可以使用它.所有这些都在ISO 639-1标准中定义.

var cultureInfo = new CultureInfo("en");
Run Code Online (Sandbox Code Playgroud)