微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么不同的计算机或操作系统上的文化date格式不同?

我在使用C#.net MVC开发的托pipe网站的同时还有date的问题。

在我的开发机器( OS:Windows 7,.net Framework 4.5 )中,西class牙语 – 巴拿马(es-PA)的date合成为mm / dd / yy,而在服务器计算机( OS:Windows 8,.net Framework 4.5d / m / yy格式为相同的文化。

我通过使用简单的控制台应用程序进行检查。

public static void Main() { DateTime dt = DateTime.Now; Thread.CurrentThread.CurrentCulture = new CultureInfo("es-PA"); Console.WriteLine(dt.ToString("d")); Console.ReadLine(); }

开发机器上的输出是:10/08/2015

以编程方式将规则添加到AVG防火墙

如何在C#中的文本文件中设置string

如何打包单个文件的Windows EXE下载?

在单人devteam(.NET平台)中进行版本控制,部署和持续testing

如何在UltraWinGrid中设置自定义字体?

服务器机器上的输出是:8/10/15

我也通过更改语言和区域进行检查,但在两个机器的认格式是不同的。

为什么在同一种文化的不同机器上格式不同? 有没有解决scheme?

将string转换为浮点并格式化(C#)

文件被另一个进程使用。 如何知道哪个进程?

控件的树视图与崩溃/展开

任何方式立即触发WaitOne()的超时?

如何修改正在使用的DLL?

为什么在同一种文化的不同机器上格式不同?

因为格式随着时间的推移而更新,在不同的操作系统版本和补丁/修补程序中更新。 .NET正在从操作系统中获取格式(我相信,无论如何),所以操作系统是差异的根源 – 就像你在区域设置中看到的那样。

有没有解决方案?

检查两台计算机是否与Windows Update保持同步,并检查是否有可用的修补程序。 否则,你总是可以手动更新一个你想改变的,但显然这是不理想的。

有可能Windows 8只是具有比Windows 7更新的信息, 而不会被Windows更新:(

文化有多种可接受的格式。 线程从线程正在执行的帐户获取文化(并因此格式化)。

例如,如果您在开发计算机上运行IIS Express(IIS Express使用Windows用户帐户进行ASP.NET工作进程),则可以更改为另一种有效的格式,对于Windows中的相同文化,这将成为输出格式你的web应用程序。

非问题很难给出解决方案。 它仍然是同一天,实际上正确地显示设置的文化。

但是,如果你想强制一个格式,你应该能够通过设置例如CurrentCulture.DateTimeFormat.ShortDatePattern

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐