如果date为'0000-00-00',则如何输出空字符串

Too*_*ool 6 angularjs

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

{{ payment.pay_date | date: 'dd.MM.yyyy' }}
Run Code Online (Sandbox Code Playgroud)

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

小智 5

上面的代码有一些语法错误。请试试这个。这非常完美,而且对我来说非常有效。

((dtItem.DueDate !== '0001-01-01T00:00:00') ? (dtItem.DueDate | date: 'dd/MM/yyyy') : '' )
Run Code Online (Sandbox Code Playgroud)


K.T*_*ess 2

使用自定义过滤器,因此它可以在您的应用程序中重复使用

例如,

app.filter('hideIfEmpty', function($filter) {
    return function (dateString, format) {
        if(dateString === '0000-00-00') {
            return "";
        } else {
            return $filter('date')(dateString, format.toString());
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

你可以使用这个

{{ payment.pay_date | hideIfEmpty: 'dd.MM.yyyy' }}
Run Code Online (Sandbox Code Playgroud)

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

这是示例小提琴(它不会输出任何内容,因为过滤器返回空字符串""使用正确的日期并进行测试来检查。:))