Asp.net 在英国开发服务器与美国Live服务器上保存DateTime对象

Asp.net 在英国开发服务器与美国Live服务器上保存DateTime对象,asp.net,asp.net-mvc,subsonic,culture,Asp.net,Asp.net Mvc,Subsonic,Culture,我有一个网站,可以将模型中的日期保存到数据库中 在启动我的网站后,我意识到服务器具有美国地区设置,因此我必须确保公共网站上的所有日期都采用英国格式 但是现在,当我转到“创建”页面并选择一个日期并单击“保存”时,我得到了一个错误值“22/11/2009”对于日期字段无效。它必须来自我的模型上的默认DataAnnotation 我能做些什么让它接受英国格式的日期吗?你试过这个吗?如果此网站仅在英国使用,您可能可以将其放入Global.asax应用程序_Init中。如果它基于用户,则可以将其放入应用程

我有一个网站,可以将模型中的日期保存到数据库中

在启动我的网站后,我意识到服务器具有美国地区设置,因此我必须确保公共网站上的所有日期都采用英国格式

但是现在,当我转到“创建”页面并选择一个日期并单击“保存”时,我得到了一个错误值“22/11/2009”对于日期字段无效。它必须来自我的模型上的默认DataAnnotation


我能做些什么让它接受英国格式的日期吗?

你试过这个吗?如果此网站仅在英国使用,您可能可以将其放入Global.asax应用程序_Init中。如果它基于用户,则可以将其放入应用程序_BeginRequest中。这将为应用程序中的所有日期和数字提供默认格式和解析

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-gb");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-gb");

你试过这个吗?如果此网站仅在英国使用,您可能可以将其放入Global.asax应用程序_Init中。如果它基于用户,则可以将其放入应用程序_BeginRequest中。这将为应用程序中的所有日期和数字提供默认格式和解析

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-gb");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-gb");

执行此操作:将所有日期持久化为UTC,并将其呈现为UCT,并为GMT/UTC/Zulu添加一个“Z”。这可能并不理想,但有时简单的好处超过了替代方案的成本。想想看。

这样做:将所有日期持久化为UTC,并将它们呈现为UCT,并附加一个“Z”表示GMT/UTC/Zulu。这可能并不理想,但有时简单的好处超过了替代方案的成本。想想看。

我把它放到web.config中,使它工作起来

<globalization culture="en-GB"/>

我把它放到web.config中,成功地让它工作了

<globalization culture="en-GB"/>