如果日期是' 0000-00-00'如何输出空字符串在角度

时间:2015-03-19 11:19:18

标签: angularjs

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

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

如果日期为“0000-00-00”,如何输出空字符串? (如果可能,不使用if子句或指令)

3 个答案:

答案 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(它不输出东西,因为过滤器返回空字符串""使用正确的日期和测试来检查。:))