我有一个Windows Server 2008 R2系统配置了默认的区域设置(没有覆盖格式或任何内容),并且它设置为en-US。
当我询问以下内容时: System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat
它将DateSeparator列为 - (破折号)而不是 / (斜杠)。所以DateTime.Now.ToString()看起来像:
2015年1月30日。
此外,CurrentThread.CurrentCulture.ToString()=" en-US"
我完全不知道如何做到这一点,但更重要的是,我想知道.NET是否有某种语言环境覆盖,可以某种方式配置?
系统区域&语言设置正常且尚未更改。非常感谢任何帮助,谢谢。
以下是诊断信息的代码。它是在asp.net页面上的asp.net中运行的。
Current Date Time: <%= DateTime.Now.ToString() %>
Current Short Date: <%= DateTime.Now.ToShortDateString() %>
Current Culture: <%= System.Threading.Thread.CurrentThread.CurrentCulture.ToString() %>
Current UI Culture: <%= System.Threading.Thread.CurrentUICulture.ToString() %>
DateTimeFormatInfo invariant = CultureInfo.InvariantCulture.DateTimeForamat;
DateTimeFormatInfo uiThread = System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat;
DateTimeFormatInfo thread = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat;
Type type = System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat.GetType();
foreach( var prop in type.GetProperties()) {
<%= prop.Name %>
<%= prop.GetValue(invariant, null) %> <br/>
<%= prop.GetValue(uiThread, null) %> <br/>
<%= prop.GetValue(thread, null) %> <br/>
}
地区&amp;语言设置
以下是一些其他信息
答案 0 :(得分:2)
每个用户都有不同的区域配置文件。您当前的帐户和应用程序可能不会使用相同的帐户来查看不同的值。
转到地区设置窗口 - &gt;行政 - &gt;单击复制设置并勾选所有复选框(欢迎屏幕和系统帐户+新用户帐户),然后单击确定。看看它是否能解决您的问题。如果您的应用程序是Web应用程序,则需要创建另一个AppPool才能看到它受到影响。