Angular JS日期格式过滤器内部Ng重复不格式化

Sur*_*raj 12 angularjs angular-ui angularjs-directive angularjs-ng-repeat angular-ui-bootstrap

实际日期来自JSON

在此输入图像描述

需要格式化如下.

Effective Date : 2010-08-31 (trim the time stamp)
End Date : 2010-08-31 (trim the time stamp)
Run Code Online (Sandbox Code Playgroud)

使用以下代码格式化Ng-Repeat内的日期.

    <li ng-repeat="product in data | startFrom:currentPage*pageSize | limitTo:pageSize"
           ng-click="getAttributes(product)">   
       {{product.prod_start_date| date:'MM/dd/yyyy'}}
       {{product.prod_end_date| date:'MM/dd/yyyy'}}
    </li>
Run Code Online (Sandbox Code Playgroud)

但它不起作用仍然显示相同.

应该将日期作为新日期传递,如下面的jsfiddle示例 http://jsfiddle.net/southerd/xG2t8/所示

请注意如何在ng-repeat中执行此操作.请帮助我.提前致谢

Ben*_*lde 21

我创建了自己的过滤器来解决这个问题.日期过滤器不能接受字符串,需要日期对象.

.filter('cmdate', [
    '$filter', function($filter) {
        return function(input, format) {
            return $filter('date')(new Date(input), format);
        };
    }
]);
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

{{product.prod_start_date| cmdate:'MM/dd/yyyy'}}
Run Code Online (Sandbox Code Playgroud)


cra*_*igb 5

我使用moment.js进行UI日期时间处理(甚至还有一个很好的angular-moment凉亭包)

用法:

<span>{{product.prod_start_date | amDateFormat:'MM/dd/yyyy'}}</span>
Run Code Online (Sandbox Code Playgroud)

它有许多其他选项以及相对日期等.