如果[差异是距当前时间2分钟],我如何设置angularjs中的时间为[2分钟前]?

时间:2015-08-29 11:21:07

标签: angularjs ionic

我正在尝试设置时间,例如,我有时间 [01:25:00] 然后如果现在当前时间是 [01:28:00] 。它应显示为" 3分钟前"。我怎么能使用角度和离子。

我正在尝试一些事情:

1分钟前,2分钟前,30分钟前,1小时前

我的HTML代码:

      <div class="item item-divider item-input-wrapper">
             <p>Time : {{ messages.MSGTIME | date:'shortTime'}} </p>
      </div> 

提前致谢

3 个答案:

答案 0 :(得分:2)

如果您不想使用moment.js(我建议使用),您可以编写自己的日期过滤器。一个简单的例子(http://plnkr.co/edit/BVH5Q3?p=preview):

angular.module('app').filter('myDate', myDate);

function myDate() {
    var s = 1000;
    var m = s * 60;
    var h = m * 60;
    return function(date) {
        var d = date.getTime() - Date.now();
        if (d > h)
            return '' + d / h + ' hours ago';
        if (d > m)
            return '' + d / m + ' minutes ago';
        if (d > s)
            return '' + d / s + ' seconds ago';
        return '' + d + ' ms ago';;
    }
}

答案 1 :(得分:0)

使用angular-moment,过滤器amDifference可以满足您的目的。你可以这样使用它:

 <p>Time : {{ messages.MSGTIME | amDifference : null : 'hours'}} </p>

答案 2 :(得分:0)

我现在匆匆忙忙,但是这里有一些关于q&#39; n方法的问题:

  • 创建自己的过滤器
  • 拆分(&#34;:&#34;)两个时间字符串
  • 小时和分钟的差异
  • 然后:

    ret = (diffHours > 0)? diffHours + " hours and " : "";
    ret += diffMinutes + " minutes ago";
    return ret;