繁体   English   中英

日期时间格式与区域性不符

[英]DateTime formatting doesn't match the culture

我有一个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是否具有某种可以以某种方式配置的语言环境覆盖?

系统的“区域和语言”设置是正常的 ,尚未更改。 任何帮助将不胜感激,谢谢。

这是诊断信息的代码。 它在aspx页上的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/>
}

地区和语言设置 区域和语言设置

这是一些其他信息 有关DateTimeFormat的诊断信息

每个用户都有不同的区域配置文件。 您当前的帐户和应用程序可能使用的帐户不同,这就是为什么您看到不同的值的原因。

转到区域设置窗口->管理->单击复制设置,然后选中所有复选框(欢迎屏幕和系统帐户+新用户帐户),然后单击确定。 看看是否能解决您的问题。 如果您的应用程序是Web应用程序,则需要创建另一个AppPool才能看到它受到影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM