ASP.NET MVC 3 中 在返回 JSON 类型时,时间的格式会是 "/Date(1306418993027)/" ,那么我们如何转换 JSON 返回结果中的时间格式呢?如在 Controller 中返回了 JSON 结构的数据:
[HttpPost]
public ActionResult Index(ZComment model)
{
return Json(model, JsonRequestBehavior.AllowGet);
}
在返回结果中发现时间格式如下图所示:
很明显,大多数情况下我们不会采用这种形式的时间格式,自己写了点代码来处理这个问题,和大家分享一下:
function ChangeDateFormat(d)
{
var date = new Date(parseInt(d.replace("/Date(", "").replace(")/", ""), 10));
var month = padLeft(date.getMonth() + 1,10);
var currentDate = padLeft(date.getDate(),10);
var hour=padLeft(date.getHours(),10);
var minute=padLeft(date.getMinutes(),10);
return date.getFullYear() + "-" + month + "-" + currentDate+" "+hour+":"+minute;
}
function padLeft(str,min){
if (str>=min)
return str;
else
return "0" +str;
}
调用方法后发现结果已是我们所需要的,如下:
最终的显示格式我们可以根据需要灵活的选择,希望本篇 ASP.NET MVC 3 JSON 时间格式的转换能带给大家一点帮助。
注:jquery-1.8.0.min.js不支持上面的日期转换函数