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

时间:2022-09-16 18:02:15

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

现针对此问题,写一个小例子来演示一下,创建一个控制器在MVC专案中:
ASP.NET MVC处理JsonResult返回时间DateTime问题


写一个视图:
ASP.NET MVC处理JsonResult返回时间DateTime问题


先来看看,不经任何处理,你在视图中显示数据时,会是这样子:
ASP.NET MVC处理JsonResult返回时间DateTime问题

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

 

代码:

ASP.NET MVC处理JsonResult返回时间DateTime问题ASP.NET MVC处理JsonResult返回时间DateTime问题
var obj = new Date(parseInt(data.result.substr(6)));
View Code


或者使用Replace去替换掉多余的字符:
ASP.NET MVC处理JsonResult返回时间DateTime问题

 

代码:

ASP.NET MVC处理JsonResult返回时间DateTime问题ASP.NET MVC处理JsonResult返回时间DateTime问题
var obj = new Date(parseInt(data.result.replace("/Date(", "").replace(")/", ""), 10));
View Code


这样虽然显示出日期时间信息,不过它是UTC格式,但是有点不太友好,我们需要格式化它:
ASP.NET MVC处理JsonResult返回时间DateTime问题