我在使用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.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(); }
开发机器上的输出是: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] 举报,一经查实,本站将立刻删除。