当在angularjs去显示一个时间时,如原原本本去显示这个值,它将显示一个怪怪的字符串,其实它就是被系列化json之后的字符串。如:
一个空值显示为日期时间:
如果非空值显示为日期时间的情形:
为了能正常显示,我得需要先将这json的字符串,进行返系列化,创建angularjs的过滤器filter:
app.filter("dateFilter", function () {
var re = /\/Date\(([0-9]*)\)\//;
return function (x) {
var m = x.match(re);
if (m) return new Date(parseInt(m[1]));
else return null;
};
});
Source Code
在html中应用这个过滤器:
{{info.PublicDate | dateFilter }}
显示的结果,当空值显示为空。当有值时,将显示为一个时间的值了:
上面虽然显示为一个日期时间,但时间的格式并不是我们想要的,如:"yyyy-MM-dd HH:mm:ss"
因此,完整的代码:
{{info.PublicDate | dateFilter | date:"yyyy-MM-dd HH:mm:ss"}}
最终显示的结果: