2015-03-19 35 views
4

如果日期为“0000-00-00”,则以下行输出字符串“30.11.-0001”如果日期为'0000-00-00',则以角度输出空字符串

{{ payment.pay_date | date: 'dd.MM.yyyy' }} 

如何在日期为“0000-00-00”的情况下输出空白字符串? (如果可能的话,不使用if引导的从句或指令)

+0

0000-00-00 - 不是有效日期 – 2015-03-19 11:34:03

回答

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' }} 
0使用

如果日期等于'0000-00-00'则返回一个空字符串,或者您可以返回类似的东西,如果不等于'0000-00-00'则根据格式格式化日期并返回。

这里是example fiddle(它不是输出的东西,因为过滤器返回空字符串""使用正确的日期和测试,以检查。:))

+0

你先生,是一个天才! – Tool 2015-03-19 11:38:45

+0

很高兴帮助你:) – 2015-03-19 11:40:39

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

上面的代码有一些语法错误。请试试这个。这是完美的,它非常适合我。

((dtItem.DueDate !== '0001-01-01T00:00:00') ? (dtItem.DueDate | date: 'dd/MM/yyyy') : '') 
相关问题