如果日期为“0000-00-00”,则以下行输出字符串“30.11.-0001”。
{{ payment.pay_date | date: 'dd.MM.yyyy' }}
如果日期为“0000-00-00”,如何输出空字符串? (如果可能,不使用if子句或指令)
答案 0 :(得分:3)
上面的代码有一些语法错误。请试试这个。这很完美,对我很有用。
((dtItem.DueDate !== '0001-01-01T00:00:00') ? (dtItem.DueDate | date: 'dd/MM/yyyy') : '' )
答案 1 :(得分:2)
不确定pay_date究竟是什么,所以其中一个应该可行:
{{ payment.pay_date ? payment.pay_date | date: 'dd.MM.yyyy' : '' }}
{{ (payment.pay_date !== '0000-00-00') ? payment.pay_date | date: 'dd.MM.yyyy' : '' }}
答案 2 :(得分:2)
使用自定义过滤器,因此可在您的应用中重复使用
例如,
app.filter('hideIfEmpty', function($filter) {
return function (dateString, format) {
if(dateString === '0000-00-00') {
return "";
} else {
return $filter('date')(dateString, format.toString());
}
};
});
您可以通过
使用它{{ payment.pay_date | hideIfEmpty: 'dd.MM.yyyy' }}
如果date等于'0000-00-00'
然后返回一个空字符串,或者你可以返回你喜欢的东西,如果不等于'0000-00-00'
那么根据格式和返回格式化日期。
这里是example fiddle(它不输出东西,因为过滤器返回空字符串""
使用正确的日期和测试来检查。:))