我正在使用 AngularJS 开发 MVC 4 项目。我的表格中有一些日期。当我使用$http.post()将数据发布到服务器时,我遇到了一个奇怪的问题。当我在服务器上发布像 2013 年 1 月 1 日这样的任何日期时,会在服务器上转换为 2012 年 12 月 31 日,这会在服务器发布上出现错误。我没有得到我的代码库中出了什么问题。
希望你能得到我的问题。
我正在使用 AngularJS 开发 MVC 4 项目。我的表格中有一些日期。当我使用$http.post()将数据发布到服务器时,我遇到了一个奇怪的问题。当我在服务器上发布像 2013 年 1 月 1 日这样的任何日期时,会在服务器上转换为 2012 年 12 月 31 日,这会在服务器发布上出现错误。我没有得到我的代码库中出了什么问题。
希望你能得到我的问题。
在处理日期时,您必须注意它们是如何在前端和后端进行序列化的。没有标准。
鉴于您的描述和缺乏其他背景,我怀疑这是一个时区问题。
这是一篇详细介绍 JSON 日期序列化问题的帖子:“关于 JSON 日期的噩梦。另外,JSON.NET 和 ASP.NET Web API”
如果您不确定序列化发生了什么,您可以使用curl
(*nix 或者可能是 cygwin 工具)或“Fiddler”之类的东西来查看原始响应。其他要做的事情是显式使用日期的toString()
方法将日期序列化为字符串(并在服务器端更改,因为您正在使用.Net)来显式控制反序列化。