我从服务器日期(有时是null
)和我的过滤器解析/Date(-62135596800000)/
到0001-01-01
,但我想要空字符串。
我该怎么做? 这是我的过滤器:
filter('myDateFormat', function() {
return function (data) {
return moment(data).format("YYYY-MM-DD");
};
})
答案 0 :(得分:1)
您的服务器返回null或日期字符串。
null可以通过简单的空值检查来处理,但对于您的其他输入"Date(-62135596800000)"
这是一个有效的日期,您无法返回空字符串,而无需显式检查它。
moment(Date(-62135596800000)).isValid() // return 'true'
您可以尝试以下代码。
// if inputDate not defined or null
if (!inputDate || inputDate == null) {
return '';
} else if (moment(inputDate).isValid()){
return moment(inputDate).format("DD MM YYYY");
} else {
return '';
}
但如果您的服务器偶尔返回此特定日期'日期(-62135596800000)'并且你想避免这种情况,你可以对它进行明确的检查。
if (!inputDate || inputDate == null) {
return '';
}
if (inputDate == 'Date(-62135596800000)') {
return '';
} else if (moment(inputDate).isValid()) {
return moment(inputDate).format("DD MM YYYY");
} else {
return '';
}
答案 1 :(得分:0)
过滤器可以像这样改进:
posix_spawn
答案 2 :(得分:0)
首先确定你的最低日期应该是什么
例如,SQL的最小日期为1753-01-01
之后,将您的日期与最低日期进行比较,例如:
filter('myDateFormat', function() {
return function (data) {
var minDate = moment('1753-01-01');// decide your minimum date
return moment(data).diff(minDate) > 0 ? moment(data).format("YYYY-MM-DD") : "";
};
})