首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET Web API日期时间绑定

ASP.NET Web API日期时间绑定
EN

Stack Overflow用户
提问于 2015-11-03 18:25:52
回答 1查看 3K关注 0票数 2

我向API控制器提交了JSON对象,日期值为"02/11/2015“(DD/MM/YYYY)。由于某些原因,它在绑定时被转换为美国格式(2月11日)。我在相同的解决方案中有标准的MVC控制器,它正确地绑定了以相同格式提交的日期值(英国)。造成这种差异的原因是什么:

下面是标准的MVC提交头:

代码语言:javascript
复制
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8,pl;q=0.6
Cache-Control:no-cache
Connection:keep-alive
X-Requested-With:XMLHttpRequest

和表单数据

代码语言:javascript
复制
StartDate : 01/11/2015

下面是API调用头

代码语言:javascript
复制
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,pl;q=0.6
Cache-Control:no-cache
Connection:keep-alive
Content-Type:application/json; charset=UTF-8
X-Requested-With:XMLHttpRequest

和我传递的JSON对象

代码语言:javascript
复制
{ DateStart: "01/11/2015" }
EN

回答 1

Stack Overflow用户

发布于 2015-11-03 18:54:51

我猜webapi json序列化程序中的默认dateFormat与MVC的不同。

尝试在配置文件(App_start/WebApiConfig)的WebApi中指定。

示例:

代码语言:javascript
复制
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;

或GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.DateFormatString = "yyyy-MM-dd“

使用您需要的DateFormat、DateZone。

更多信息请点击此处:

Post dates web api custom format

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33496699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档