如何查找Culture的默认日期格式

use*_*600 9 c# culture currentculture

好吧,我正在尝试获取文化的默认日期格式.

例如,en-us有"m/dd/yyyy",en-uk'd/mm/yyyy'.文化可以是客户机器上的任何东西.和Dateformat也可以是任何东西.喜欢文化就是我们,但是dateformat是dd-MMM-yyyy.

所以这个例子我想把ShortDateformatString作为m/dd/yyyy而不是dd-MMM-yyyy.

我尝试使用以下方法为所有文化做到这一点:

string _cultureInfo = CultureInfo.CurrentCulture.IetfLanguageTag;
CultureInfo shortDatefomatString = new CultureInfo(_cultureInfo);
string old = shortDatefomatString.DateTimeFormat.ShortDatePattern;
Run Code Online (Sandbox Code Playgroud)

但它总是返回dd-MMM-yyyy.我需要默认的一个而不是机器上的设置.

Ste*_* Py 4

我认为问题在于您检索所需文化的方式。

这将为您提供默认的区域性设置:

var cultureLanguageTag = CultureInfo.CurrentCulture.IetfLanguageTag;
var defaultCulture =  CultureInfo.GetCultureInfoByIetfLanguageTag( cultureLanguageTag );
Run Code Online (Sandbox Code Playgroud)

使用字符串构建一个应该与区域性名称一起使用,我不知道它是否应该与 IETF 标记一起使用,在这种情况下它可能只是返回当前的区域性。