我有一个Web应用程序,它在不同的点上使用户输入日期并向用户显示日期。在调试时(以及站点在我们的测试和登台服务器上运行时),日期格式以dd / mm / yyyy格式显示(使用DateTime.ToShortDateString()时)。这些服务器(以及我的开发环境将“英语(英国)”设置为windows区域选项下的语言。到目前为止一切都很好。但是,在实时服务器日期显示格式为mm / dd / yyyy即使现场直播服务器仍然将语言设置为“English(United Kindgom)”。我见过this question,它解释了如何以特定格式解析日期,我已经知道如何以所需的字符串格式获取日期( DateTime.ToString("dd/MM/yyyy")
)但是我想知道实时服务器上的其他操作系统设置导致了这种差异?
我也见过this question,但它似乎没有回答我的问题。
一些其他信息:关于开发,测试和登台环境 System.Threading.Thread.CurrentThread.CurrentUICulture.Name = “EN-US” System.Threading.Thread.CurrentThread.CurrentCulture.Name = “EN-GB”
在现场环境中 System.Threading.Thread.CurrentThread.CurrentUICulture.Name = “EN-US” System.Threading.Thread.CurrentThread.CurrentCulture.Name = “EN-US”
答案 0 :(得分:7)
您是否已查看globalization
的{{1}}部分?
你可以像这样声明地设置它:
web.config
答案 1 :(得分:3)
区域设置适用于每个用户 - 因此您需要确保为任何运行应用程序的用户更改区域设置,例如:网络服务。
看起来很多人都在搜索方法(谷歌“IIS更改区域设置”)。看起来大多数人通过将设置入侵到注册表的适当部分(HKEY_USERS\IUSR-SID\Control Panel\International
下)来实现它
答案 2 :(得分:1)
您当然可以在Begin Request事件中覆盖它。
但真正的根本原因是Windows没有本地化为英语。我们获得美国英语:没有资源本地化到en-GB,因此这个设置避免了很多失败的en-GB资源查找,立即回到en-US。
答案 3 :(得分:-3)
尝试检查实时服务器上使用的区域设置。请查看以下链接了解更多详情
http://www.java.com/en/download/help/locale.xml
您可能还需要检查浏览器中列出的语言优先级。
问候