在开发者机器上(cassini)
new DateTime(2012,3,14).ToString("d")
结果
14/03/2012
这是正确的,但是当部署到完整的 IIS 服务器时,结果是
03/14/2012
服务器在控制面板/区域语言中设置为全英文/英国/国标,命令提示符中的运行日期返回dd/MM/YYYY格式。
该站点同时设置了 uiCulture="en-GB"
和 culture="en-GB"
,它们显示在 web.config 全局化标签中。
我可以通过添加强制文化来解决这个问题
new DateTime(2012,3,14).ToString("d", new CultureInfo("en-GB"));
但我真的很想知道是什么格式设置不正确。
CultureInfo.CurrentCulture.Name, CultureInfo.CurrentUICulture.Name
都返回en-US
- zh-CN:
M/d/yyyy
(例如 3/14/2012) - zh-CN:
dd/MM/yyyy
(例如 14/03/2012)
web.config 中的实际值
<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" uiCulture="en-GB" culture="en-GB" />
最佳答案
我设法通过将其放入 web.config 使其工作
<globalization culture="en-GB"/>
关于c# - 如何将 en-US 日期更改为 en-GB for asp.net?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9700934/