我的本地开发服务器和生产服务器中有MS SQL。我本地服务器的DateTime格式为“mm / dd / yyyy”,但生产服务器中的格式为“dd / mm / yyyy”。在我的本地服务器中,每件事情都运行良好,但当我尝试在我的生产服务器中输入“05/31/2010”之类的日期时,模型验证会引发错误“值'05 / 31/2010'无效....“因为月份不能超过12个。我不想在任何一个服务器中更改DateTime。有些机构可以告诉我一种方法摆脱这个问题,以便我的服务器一切正常吗?
答案 0 :(得分:1)
您可以尝试将Globalization元素添加到web.config - 配置>的System.Web:
<globalization culture="en-US" uiCulture="en-US" />
我有一个类似的问题 - 虽然不可否认,作为一个英国人,反过来 - 这解决了这个问题。
答案 1 :(得分:0)
我认为this article可能是你所追求的,就模型绑定如何与本地化有关。
目前尚不清楚您输入数据的位置,但我建议您明确告诉用户以一种特定格式输入日期,或使用日历选择器,或将三者分开UI中的字段。基本上不要暧昧 - 你会让用户假设一种格式而不是你实际使用的格式。
请注意,所有这些都应该在它到达数据库附近之前完成 - 数据库的格式应该是无关紧要的,因为您应该使用只能处理{{{ 1}}和DateTime
用于与时间相关的值。