我有一个用于Web API的MVC 3 Web应用程序,一个控制器发出json。 在json结果中,我看到日期正在自动序列化
作为
{
Flag: "U"
EventId: "168ef1d4-60ca-4fa1-b03b-8c3207650347"
EventTitle: "test event 11"
DateTimeStart: "/Date(1369217469310)/"
IsCustomEvent: true
Location: null
}
在javascript中我需要以人类可读的格式转换DateTimeStart并使用此代码
var date = new Date(1369217469310); 警报(日期);
我将结果数据视为
2013年5月22日星期三12:11:09 GMT + 0200(CEST)
这是应用程序中存储的日期的1小时,即22/05/2013 11:11:09。
我想知道问题的位置以及解决方法:
请让他们知道你将如何解决它,谢谢!
答案 0 :(得分:1)
我没有足够的信息来提供有关服务器端的建议。通常,服务器端问题的根源可能是您在应用程序中设置的CultureInfo。您可以考虑将所有日期时间转换为UTC,然后再将其发送到浏览器。检查DateTime.ToUniversalTime()方法。
在客户端,您还可以修复区域时间和UTC之间的偏移。这样做没有内置功能,但执行起来非常简单。请检查以下代码。
var date = new Date();
var dateWithOffset = date.getTime() + date.getTimezoneOffset() * 60000;