【发布时间】:2015-01-07 15:15:19
【问题描述】:
我为 .NET Web 应用设置了文化,以便为数字、货币和日期使用特定格式:
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-BE");
在装有 IIS 7 的 Windows 2008 服务器机器上,我得到“d/m/yy”作为短日期格式(我想要的)。 在我的(新)Windows 8.1 pro 机器(开发和测试)上,我得到相同 CultureInfo 的“d-m-yy”格式......“破折号”而不是“斜杠”分隔符。
我还在控制面板-> 区域中检查过,法语(比利时)的设置如上所述,W2k8 服务器中的设置与 W8.1pro 中的设置不同...
.NET 版本是 4,没问题。不变的文化没有帮助,因为我需要在 UI 中显示特定的文化并且问题就在那里。确实,Windows 8 带来了变化……最后我曾经覆盖了一些线程文化的设置,比如日期分隔符:
DateTimeFormatInfo dtfi = Thread.CurrentThread.CurrentCulture.DateTimeFormat; if (dtfi.DateSeparator != "/") dtfi.DateSeparator = "/";
这确保斜线在当前线程中始终是日期分隔符。
谢谢。 有人知道吗?比利时改变国家标准?或者,微软为他们做了什么?任何的想法? 谢谢。
【问题讨论】:
-
他们的 .NET Framework 版本是什么?
-
如果你想要一个特定的格式,为什么不使用不变的文化?
-
根据this site格式应该是
yyyy-mm-dd
标签: c# .net cultureinfo