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.我需要默认的一个而不是机器上的设置.
我认为问题在于您检索所需文化的方式。
这将为您提供默认的区域性设置:
var cultureLanguageTag = CultureInfo.CurrentCulture.IetfLanguageTag;
var defaultCulture = CultureInfo.GetCultureInfoByIetfLanguageTag( cultureLanguageTag );
Run Code Online (Sandbox Code Playgroud)
使用字符串构建一个应该与区域性名称一起使用,我不知道它是否应该与 IETF 标记一起使用,在这种情况下它可能只是返回当前的区域性。