首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular.js:秒到HH:mm:ss滤波器

问Angular.js:秒到HH:mm:ss滤波器
EN

Stack Overflow用户
提问于 2015-02-08 13:41:42
回答 6查看 48.2K关注 0票数 26

我有很多秒数,例如,713秒。如何实现将这713秒转换为HH:mm:ss格式的Angular.js过滤器?在这种情况下,应该是00:11:53。

代码语言:javascript
复制
<div>
  {{ 713 | secondsToHHMMSS }} <!-- Should output 00:11:53 -->
</div>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-06-10 21:18:01

manzapanza的答案只有在秒数小于86400 (1天)时才有效。日期对象需要完全为零。另外,最好返回实际的date对象,这样angularjs就不必再来一次了。

代码语言:javascript
复制
app.filter('secondsToDateTime', function() {
    return function(seconds) {
        var d = new Date(0,0,0,0,0,0,0);
        d.setSeconds(seconds);
        return d;
    };
});

和

代码语言:javascript
复制
<b>{{seconds | secondsToDateTime | date:'HH:mm:ss'}}</b>

编辑:如果您想要超过24小时而不包装到天,最好不要使用日期:

代码语言:javascript
复制
app.filter('secondsToTime', function() {

    function padTime(t) {
        return t < 10 ? "0"+t : t;
    }

    return function(_seconds) {
        if (typeof _seconds !== "number" || _seconds < 0)
            return "00:00:00";

        var hours = Math.floor(_seconds / 3600),
            minutes = Math.floor((_seconds % 3600) / 60),
            seconds = Math.floor(_seconds % 60);

        return padTime(hours) + ":" + padTime(minutes) + ":" + padTime(seconds);
    };
});

和

代码语言:javascript
复制
<b>{{seconds | secondsToTime}}</b>
票数 34
EN

Stack Overflow用户

发布于 2015-02-09 00:30:52

试着做这样的事情:

代码语言:javascript
复制
app.filter('secondsToDateTime', [function() {
    return function(seconds) {
        return new Date(1970, 0, 1).setSeconds(seconds);
    };
}])

html:

代码语言:javascript
复制
<b>{{seconds | secondsToDateTime | date:'HH:mm:ss'}}</b>

演示

票数 77
EN

Stack Overflow用户

发布于 2016-01-20 02:39:27

试试这个:

代码语言:javascript
复制
app.filter('secondsToHHmmss', function($filter) {
    return function(seconds) {
        return $filter('date')(new Date(0, 0, 0).setSeconds(seconds), 'HH:mm:ss');
    };
})

html:

代码语言:javascript
复制
<b>{{seconds | secondsToHHmmss}}</b>
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28394572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档