在开发ASP.NET MVC时,如果你有使用jQuery的Ajax去获取一些json数据时,其中数据返回有包含日期时间的话,也许会觉得有点小问题。


现针对此问题,写一个小例子来演示一下,创建一个控制器在MVC专案中:

ASP.NET MVC处理JsonResult返回时间DateTime问题_DateTime

写一个视图:

ASP.NET MVC处理JsonResult返回时间DateTime问题_Jquery_02



先来看看,不经任何处理,你在视图中显示数据时,会是这样子:

ASP.NET MVC处理JsonResult返回时间DateTime问题_Jquery_03

 

修改一下,把字符串“/Date(1435542121135)/”截取括号内的数字部分,使用函数parseInt转换为int,再作为new date对象的参数传入,这样new date一个新时间对象。:

ASP.NET MVC处理JsonResult返回时间DateTime问题_REPLACE_04

 

代码:


ASP.NET MVC处理JsonResult返回时间DateTime问题_Jquery_05ASP.NET MVC处理JsonResult返回时间DateTime问题_REPLACE_06


var obj = new Date(parseInt(data.result.substr(6)));

View Code

或者使用Replace去替换掉多余的字符:

ASP.NET MVC处理JsonResult返回时间DateTime问题_date_07

 

代码:


ASP.NET MVC处理JsonResult返回时间DateTime问题_Jquery_05ASP.NET MVC处理JsonResult返回时间DateTime问题_REPLACE_06


var obj = new Date(parseInt(data.result.replace("/Date(", "").replace(")/", ""), 10));

View Code

这样虽然显示出日期时间信息,不过它是UTC格式,但是有点不太友好,我们需要格式化它:

ASP.NET MVC处理JsonResult返回时间DateTime问题_json_10