使用angularjs过滤器将24小时时间转换为上午/下午

时间:2016-03-28 06:45:19

标签: angularjs angularjs-filter

我有一个值

$scope.time = 13:30:00 (in 24 hour format)

现在我想使用angularjs过滤器(如

)将此值更改为am / pm格式
<th class="text-center">{{time | any filter}}</th>

输出:下午1:30

是否有内置过滤器或是否必须创建自定义过滤器?
我该如何使用&#34; date&#34;过滤器来解决这个问题?

3 个答案:

答案 0 :(得分:2)

{{time | date:"h:mma"}}

Here是格式。

答案 1 :(得分:1)

尝试 $ scope.time = 2016-03-28T13:30:00
而不是$ scope.time = 13:30:00

答案 2 :(得分:0)

html使用

{{d.date | timeDate}}

js过滤器

app.filter('timeDate', function() {
    return function(value){
        value = new Date(value);
        return (value.getHours()>=13?(value.getHours()-12):(value.getHours())) + ":" + (value.getMinutes()<10?'0':'') + value.getMinutes() + (value.getHours()>11?'pm':'am');
    }
});

这将转换 “ 2018年11月16日星期五12:35:42 MST” 至 “下午12:35”