Javascript Microsoft AJAX序列化日期和时间

Javascript Microsoft AJAX序列化日期和时间,javascript,asp.net,json,asp.net-mvc-3,Javascript,Asp.net,Json,Asp.net Mvc 3,我有一个用于web API的MVC 3 web应用程序,一个发出json的控制器。 在json结果中,我看到日期被自动序列化 作为 在javascript中,我需要将DateTimeStart转换为人类可读的格式,并使用以下代码 var日期=新日期(1369217469310); 警报(日期) 我认为结果数据如下所示 2013年5月22日星期三12:11:09 GMT+0200(CEST) 这是存储在应用程序中的日期的1小时,即2013年5月22日11:11:09 我想知道问题可能在哪里以及如何

我有一个用于web API的MVC 3 web应用程序,一个发出json的控制器。 在json结果中,我看到日期被自动序列化

作为

在javascript中,我需要将DateTimeStart转换为人类可读的格式,并使用以下代码

var日期=新日期(1369217469310); 警报(日期)

我认为结果数据如下所示

2013年5月22日星期三12:11:09 GMT+0200(CEST)

这是存储在应用程序中的日期的1小时,即2013年5月22日11:11:09

我想知道问题可能在哪里以及如何解决:

  • 默认情况下,是否使用CEST将.Net序列化日期设置为+1 UCT,在这种情况下,如何将UCT设置为0
  • 使用JavaScript转换日期时是否存在问题

请让他们知道你将如何修复它,谢谢

我没有足够的信息来提供关于服务器端的建议。通常,服务器端问题的根源可能是应用程序中设置的CultureInfo。您可以考虑将所有日期时间转换为UTC,然后将其发送到浏览器。检查DateTime.ToUniversalTime()方法

在客户端,您还可以修复区域时间和UTC之间的偏移。没有内置函数来执行此操作,但它的操作非常简单。检查下面的代码

var date = new Date();
var dateWithOffset = date.getTime() + date.getTimezoneOffset() * 60000;

我没有足够的信息来提供关于服务器端的建议。通常,服务器端问题的根源可能是应用程序中设置的CultureInfo。您可以考虑将所有日期时间转换为UTC,然后将其发送到浏览器。检查DateTime.ToUniversalTime()方法

在客户端,您还可以修复区域时间和UTC之间的偏移。没有内置函数来执行此操作,但它的操作非常简单。检查下面的代码

var date = new Date();
var dateWithOffset = date.getTime() + date.getTimezoneOffset() * 60000;
相关文章相关文章相关文章相关文章