在我的角度应用程序中,我正在调用 WCF REST 服务,它返回一个数组 ob 对象,其中一个属性是 DateTime 类型,它以这种形式在 JSON 中序列化
[{"date":"\/Date(1295164800000-0800)\/",...
为了在我的模板中很好地显示它,我创建了一个过滤器来将该 JSON 表示形式转换为 JavaScript Date 对象。
eventsApp.filter("fromMSDate", function(){
return function (jsonDate) {
var D, dtime, T, tz, off,
dobj = jsonDate.match(/(\d+)|([+-])|(\d{4})/g);
T = parseInt(dobj[0]);
tz = dobj[1];
off = dobj[2];
if (off) {
off = (parseInt(off.substring(0, 2), 10) * 3600000) +
(parseInt(off.substring(2), 10) * 60000);
if (tz == '-') off *= -1;
}
else off = 0;
return new Date(T + off).toUTCString();
}
});
我用这种方式
<span class="span1">Date:</span>
<span>{{event.date | fromMSDate}}</span>
所有工作都按需要进行,我确实在页面中显示了一个 JS Date 对象,但我不喜欢这种格式,所以我尝试应用'date'
过滤器但没有成功。
<span class="span1">Date:</span>
<span>{{event.date | fromMSDate | date:'medium'}}</span>
由于date
某种原因,过滤器被忽略,日期显示为Fri, 15 Mar 2013 00:00:00 GMT
。
我在这里做错了什么?
谢谢