Angular js - 格式化datetime以匹配条件

时间:2014-04-08 08:27:53

标签: javascript angularjs datetime format locale

您好我只是使用Angular日期过滤器打印日期时间,这就是我的代码实际看起来的样子:

<small class="muted smaller">

        {{row.insert_datetime |  date : 'shortTime'}},
        {{row.insert_datetime | date : 'longDate'}}
    </small>

所以结果非常好,它会返回:

<small class="muted smaller">
            5:22 PM, 1 April 2010
</small>

我更想要的是在条件下返回这样的内容:

if(today == 1 April 2010){
print 5:22 PM
}else{
print 5:22 PM , 1 April 2010
}

是否有可能以某种方式添加此条件?

2 个答案:

答案 0 :(得分:1)

您可以使用角度过滤器概念,您可以对此进行修改以进一步实现您的目标

angular.module('yourmodule').filter('hbdate', function($filter)
{
    return function(input)
    {
        if(input == null){ return ""; }
        var _date = $filter('date')(new Date(input), 'MMM dd yyyy');
                if{
                 your condition 
                 }

        return _date.toUpperCase();
    };
});

Date filtering and formatting in Angular js.

答案 1 :(得分:1)

这是可行的:

<span>
    {{ row.insert_datetime |  date : 'shortTime' }}
    {{ row.insert_datetime === today && ' ' || (',' + (row.insert_datetime | date : 'longDate')) }}
</span>

但它很难看;也许你应该尝试在代码中执行它。 (如果你这样做,请在&&之后注意字符串中的空格 - 需要它。)