我有一个AngularJS应用程序,它以UTC格式向.NET控制器发布日期:
CreateEvent: function (event) {
var event_date = moment.utc(new Date(event.event_date)).format();
return $http({
url: '/test/CreateEvent/',
method: "POST",
data: { event_date: event_date}
});
}
如果我将日期2016年7月4日,08:00放在event.event_date中,则会将其转换为" 2016-07-03T22:00:00Z"发布到服务器。
以下是我.Net控制器的片段:
public JsonResult CreateEvent(@event evt, int eventOffset)
{
DateTime eventDate = evt.event_date;
...
}
我在第一行设置了断点,evt.event_date包含日期2016年7月4日08:00。我的服务器在GMT + 10时区运行。为什么将日期转换为当前时区以及如何停止此操作?
答案 0 :(得分:0)
我怀疑一个好的捷径是将日期时间转换为具有明确格式的字符串。服务器端必须记住确定的格式。
我理解你的问题。无论数据库和存储方式如何,JSON对象的date属性都可以简单地转换,您甚至无法在数据库中存储。它必须与序列化问题有关。
这是一个很好的日期: - http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx