ASP.NET日期格式

And*_*row 2 c# asp.net asp.net-mvc datetime-format asp.net-mvc-3

  • 我在特定服务器上遇到问题.

在除问题环境之外的每个环境中

服务器正确识别所有客户端都在英国并解析英国格式的日期:

DD/MM/YYYY
Run Code Online (Sandbox Code Playgroud)

在问题服务器上

问题似乎只发生在一台服务器上.此服务器似乎错误地要求美国日期:

MM/DD/YYYY
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了

  • 将"全球化"部分添加到web.config文件以尝试强制en-GB文化
  • 检查"machine.config"的全球化部分(它也说en-GB).
  • 我已经检查过客户端正在请求en-GB作为respnse的首选文化.
  • 在Eoin的建议中,我还检查了服务器的区域设置(它们的日期设置为dd/MM/yyyy,这是正确的).

我不能尝试

我正在使用MS ASP.NET MVC,它自动将HTML表单数据反序列化为对象,因此我无法手动指定日期格式 - 例如使用DateTime.Parse(myDateStr, "dd/MM/yyyy")Microsoft MVC进行解析.

还有什么我可以做的.这是一个内联网应用程序,所有客户都在英国.

Eoi*_*ell 5

如果您覆盖了全球化部分中的当前文化,请确保指定UICulture和Culture选项.

但是,鉴于您在许多服务器中只有1个出现此问题,我希望服务器本身的配置不同.如果您可以作为管理员登录问题服务器,请检查以下内容(这是Windows 7,但在Windows Server 2008上应该类似)

控制面板>区域和语言>格式选项卡>格式:"英语(英国)"

并以dd/MM/yyyy格式验证日期