对angularjs时间过滤格式

时间:2023-06-20 09:25:37

在最近的项目中,我遇到这样的一个小问题,从后台传过来一个时间值,格式如下:

"/Date(1484743002000)/"

至于为什么是这种格式,后台的开发说数据库中就是这个存的(欺负我们不懂sqlserver)。

那问题来了,这个值如何在angular中显示为“2017-11-20”呢?

如果传过来的是“1484743002000“,可以用{{time"|date:'yyyy-mm-dd'}}直接转换。

这里的”date:'yyyy-mm-dd'“是angular已经封转好的过滤器,照着这个思路,我们可以自定义一个过滤器,

只要将"/Date(1484743002000)/"转换成”1484743002000“即可:

//日期过滤转化,只要是替换"/Date"为”“。
myModule.filter("transTime",function(){
return function(input){
var out='';
if(input==null||input==''){
out='';
}else{
out=input.replace("/Date(", "");
out=out.replace(")/", "");
} return out;
}
});
最后在页面中这样用:
{{time"|transTime|date:'yyyy-mm-dd'}}
过滤两次即可。


)