在最近的项目中,我遇到这样的一个小问题,从后台传过来一个时间值,格式如下:
"/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‘}}过滤两次即可。
)
时间: 2024-08-27 13:06:02