Angularjs自定义过滤器

app.filter("dateFliter", function () {
    return function (input) {
        //获取过滤器中所有的参数,原始参数是默认排在数组第一位
        var args = Array.prototype.slice.call(arguments);
        if (input == null || input == "") {
            input = new Date().getTime();
        }
        else {
            input = new Date(Date.parse(input.replace(/-/g, "/"))).getTime();
        }
        //分钟
        var dates = parseInt((input - new Date().getTime())) / (1000 * 60);
        //小时
        var h = dates / (60);
        //天数
        var d = dates / (60 * 24);
        if (dates <= 0 || args[1] != "等待收货") {
            return "--";
        }
        else if (d > 1) {
            return Math.ceil(d) + "";
        }
        else if (h > 1) {
            return Math.ceil(h) + "小时";
        }
        else {
            return dates + "分钟";
        }
    }
})

前台绑定格式:

<td>{{order.timesForConfirm|dateFliter:order.state}}</td>

 

实现将日期转换成天数、小时或分钟。

你可能感兴趣的:(Angularjs自定义过滤器)