嗨,我只是使用 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
}
是否可以以某种方式添加此条件?
你可以使用角度滤波器的概念,你可以修改这个来进一步实现你的目标
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();
};
});
Angular js 中的日期过滤和格式化。
它可以作为:
<span>
{{ row.insert_datetime | date : 'shortTime' }}
{{ row.insert_datetime === today && ' ' || (',' + (row.insert_datetime | date : 'longDate')) }}
</span>
但它很丑陋;也许你应该尝试在代码中做到这一点。(如果这样做,请注意字符串中&&
后面的空格 - 这是必需的。