Col*_*ill 6 c# asp.net datetime locale
我有一个Windows Server 2008 R2系统配置了默认的区域设置(没有覆盖格式或任何东西),它设置为en-US.
当我询问以下内容时: System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat
它将DateSeparator列为-(破折号)而不是/(斜杠).所以DateTime.Now.ToString()看起来像这样:
01-30-2015.
另外,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/>
}
Run Code Online (Sandbox Code Playgroud)
区域和语言设置

这是一些额外的信息

小智 2
每个用户都有不同的区域配置文件。您当前的帐户和应用程序可能使用的不是同一帐户,因此您会看到不同的值。
转到区域设置窗口 -> 管理 -> 单击复制设置并勾选所有复选框(欢迎屏幕和系统帐户 + 新用户帐户),然后单击确定。看看它是否能解决您的问题。如果您的应用程序是 Web 应用程序,您需要创建另一个 AppPool 才能看到它受到影响。
| 归档时间: |
|
| 查看次数: |
650 次 |
| 最近记录: |