如何将asp.net的en-US日期更改为en-GB

本文关键字:日期 en-GB en-US asp net | 更新日期: 2023-09-27 18:27:50

在开发者机器(cassini)上

new DateTime(2012,3,14).ToString("d")

中的结果

14/03/2012

这是正确的,但当部署到完整的IIS服务器时,结果是

03/14/2012

服务器在控制面板/区域语言中设置为全英文/UK/GB,命令提示符下的运行日期返回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


  • en-US:M/d/yyyy(例如2012年3月14日)
  • en-GB:dd/MM/yyyy(例如,2012年3月14日)

web.config 中的实际值

 <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" uiCulture="en-GB" culture="en-GB" />

如何将asp.net的en-US日期更改为en-GB

我通过将其放入web.config 中使其工作

<globalization culture="en-GB"/>

web.config中添加

<globalization culture='auto' uiCulture='auto' />

然后,假设浏览器被正确配置为通过首选语言环境,则处理请求的工作线程将正确设置其CurrentCultureCurrentUICulture

任何与区域设置相关的操作(包括DateTime格式d)都将使用客户端的首选项。

MSDN上web.config的全球化元素:https://msdn.microsoft.com/en-us/library/ydkak5b9(v=vs.71).aspx