小编典典

json对象的Angular.js格式日期

angularjs

我的json响应如下所示:

[{"Id":"dab4580b-e24d-49f8-9fd5-2e968b10d3b5","Title":"MVVM-Sidekick 入精","CreatedOn":"\/Date(1390272893353)\/","IsChecked":false},{"Id":"66a0f134-e240-4cc4-96fa-ac3807853ca7","Title":"Windows Phone 开发入精","CreatedOn":"\/Date(1390018447080)\/","IsChecked":false}]

“ CreatedOn”日期是这种格式:’/ Date(1390272893353)/’

当我将此结果绑定到html表时,日期无法格式化:

<td>{{item.CreatedOn | date: 'yyyy-MM-dd HH:mm'}}</td>

仍然给我:

/日期(1390272893353)/

我不想在服务器端更改任何代码(不要修改json字符串),格式化此日期的最佳方法是什么?


阅读 189

收藏
2020-07-04

共1个答案

小编典典

一种选择是编写另一个过滤器并将其放入链中。例如:

app.filter("mydate", function() {
    var re = /\/Date\(([0-9]*)\)\//;
    return function(x) {
        var m = x.match(re);
        if( m ) return new Date(parseInt(m[1]));
        else return null;
    };
});

基本上,它使用正则表达式解析字符串并生成一个Date(如果格式与所示格式不同,则必须调整正则表达式)。

用作:

<td>{{item.CreatedOn | mydate | date: 'yyyy-MM-dd HH:mm'}}</td>
2020-07-04