关于在ASP.NET WebApi中接收参数时的时间问题

xi_yaoyue 2016-05-04 04:27:18
我的遇到的情况是这样的:
我使用了一个Asp.net WebApi作为一个接口,接收请求,返回数据,接收方法中的参数使用对象,并使用[FromBody]标记,
然后使用WebRequest,以POST方式向该接口发送JSON数据,但是WebApi中接收到的时间值不是我发送的时间值,我发送的时间类型的值是"2016-05-04",但是接口中对象的时间是“2016/05/03 16:00:00”;使用了F12看了下发送数据,时间是正确的,没有变化。
各位大侠,小弟刚使用WebApi,对这个不是很了解,希望高手能指点一二,小弟不胜感激!

我的WebApi部分代码如下:
[HttpPost]
public void GetList([FromBody] P_Param param)
{
//todo
}
public class P_Param
{
public string Name{get;set;}
public DateTime Start{get;set;}
}

发送的JSON数据是: { "Name": "张三", "Start": "2016-05-04"}

接收到的时间:




...全文
746 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xi_yaoyue 2016-05-07
  • 打赏
  • 举报
回复
大侠犀利,就是这个UTC时间,问题解决!
  • 打赏
  • 举报
回复
Start.ToLocalTime
你的截图很明确的告诉你是UTC时间,16+8不就是24么
myhope88 2016-05-05
  • 打赏
  • 举报
回复
估计跟时区设置有关系吧
Justin-Liu 2016-05-05
  • 打赏
  • 举报
回复
跟系统时区有关吗?
xi_yaoyue 2016-05-04
  • 打赏
  • 举报
回复
额,其实是这样,我这时间并不是一个写死的值,是获取的日期控件的值,然后拼接的JSON,现在就是说,我不管发送什么时间,接口收到的收据(FromBody标记的实体对象接收),都是我发送的时间的前一天的16点,比如我发送的"2016-05-02",接收到的就是“2016/05/01 16:00:00”。这就让我郁闷了,不知道是不是需要在类WebApiConfig的方法Register中设置日期相关的处理..........,期待大神的指点!
全栈极简 2016-05-04
  • 打赏
  • 举报
回复
在你的项目中全局搜索一下“”2016/05/03 16:00:00“” ,看看代码有没有写死。

62,270

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧