MD'*_*D's 9 .net c# windows cultureinfo date-format
我在托管使用C#.net MVC开发的网站时遇到日期格式问题.
在我的开发机器(OS:Windows 7,.net Framework 4.5)中,西班牙语 - 巴拿马(es-PA)的日期格式为mm/dd/yy,而在服务器机器(OS:Windows 8,.net Framework 4.5)中,它给出了相同文化的d/m/yy格式.
我使用简单的控制台应用程序检查了它.
public static void Main()
{
DateTime dt = DateTime.Now;
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-PA");
Console.WriteLine(dt.ToString("d"));
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
开发机器的输出是:10/08/2015
服务器机器上的输出是:8/10/15
我还通过更改语言和区域进行检查,但两种机器的默认格式都不同.
为什么不同机器的格式在同一文化中有所不同?这有什么解决方案吗?
为什么相同文化在不同机器上的格式不同?
因为格式会随着时间的推移、在不同的操作系统版本和补丁/修补程序中进行更新。.NET 从操作系统获取格式(无论如何,我相信),因此操作系统是差异的根源 - 正如您在区域设置中看到的那样。
有什么解决办法吗?
检查两台计算机是否都已安装最新的 Windows 更新,并可能检查是否有可用的修补程序。否则,您始终可以手动更新要更改的内容,但显然这远非理想。
Windows 8 可能只是比 Windows 7 拥有更多的最新信息,而Windows 更新无法解决这一问题:(