C# WebAPI控制器日期格式frombody

C# WebAPI控制器日期格式frombody,c#,asp.net-web-api,datetime-format,C#,Asp.net Web Api,Datetime Format,我有一个POCO DTO类,上面有一个日期字段。我在网页上有一个葡萄牙语的表格(dd/mm/yyyy)。从de表单发布数据时,API控制器将以mm/dd/yyyy格式接收日期字段。我已经在web.config和global.asax中设置了一些区域性设置,但没有效果 使用chrome developer工具查看发布的值,我可以看到日期是正确的:1983年7月1日。但在api控制器中,它将于1983年1月7日关闭 如何正确配置控制器,使其能够接收正确的日期格式?谢谢您的帮助 我通过输入Web.co

我有一个POCO DTO类,上面有一个日期字段。我在网页上有一个葡萄牙语的表格(
dd/mm/yyyy
)。从de表单发布数据时,API控制器将以
mm/dd/yyyy
格式接收日期字段。我已经在
web.config
global.asax
中设置了一些区域性设置,但没有效果

使用chrome developer工具查看发布的值,我可以看到日期是正确的:1983年7月1日。但在api控制器中,它将于1983年1月7日关闭

如何正确配置控制器,使其能够接收正确的日期格式?

谢谢您的帮助

我通过输入Web.config解决了这个问题:

<globalization enableClientBasedCulture="true" requestEncoding="utf-8" responseEncoding="utf-8" culture="pt-BR" uiCulture="pt-BR"/>

您应该使用Chome developer工具来查看并查看实际发送到控制器方法的内容。它可能只是,调试器正以这种方式向您显示它。为什么不将控制器方法中的日期格式化为所需的格式?将其设置为mm/dd/yyyy有什么问题?您可以在结尾处将其设置为正确的格式,对吗?您应该以该格式处理所有日期和日期时间实例的发送/接收。客户机应显示其认为合适的日期,这是表示逻辑,不在日期实例的实际发送/接收范围内。+1至@Igor的建议。他的建议将使支持应用程序用户使用不同的本地化设置变得更容易,这正是您遇到的问题。。。在我的例子中,我并没有设置requestEncoding和responseEncoding,因为acents。。。
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.Culture = System.Globalization.CultureInfo.CurrentCulture;