我從服務器日期,有時null
,我的過濾器解析/Date(-62135596800000)/
到0001-01-01
但我想有空字符串。如何解析/日期(-62135596800000)/爲空
我該怎麼做? 這裏是我的過濾器:
filter('myDateFormat', function() {
return function (data) {
return moment(data).format("YYYY-MM-DD");
};
})
我從服務器日期,有時null
,我的過濾器解析/Date(-62135596800000)/
到0001-01-01
但我想有空字符串。如何解析/日期(-62135596800000)/爲空
我該怎麼做? 這裏是我的過濾器:
filter('myDateFormat', function() {
return function (data) {
return moment(data).format("YYYY-MM-DD");
};
})
嗯,你的服務器返回您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 '';
}
的過濾器可以這樣加以改進:
filter('myDateFormat', function() {
return function (data) {
return data > 0 ? moment(data).format("YYYY-MM-DD") : "";
};
})
這是行不通的。 – Cieja
只有代碼和「嘗試這個」的答案通常是不鼓勵的;試着解釋變化是什麼以及爲什麼它應該起作用。 – user5226582
我以爲你想要將空數據解析爲空字符串。如果你想將負值解析爲空字符串,你應該檢查數據是否爲正數。 我已經用數據正面檢查更新了我的答案。 – bluehipy
首先,決定什麼應該是你最低日期。
例如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") : "";
};
})
當你想要一個空字符串? – VincenzoC
如果日期是/日期(-62135596800000)/?我知道我可以使用,但我正在尋找更好的溶劑 – Cieja
只是爲了那個單一的輸入?我看到沒有更好的解決方案,然後使用一個簡單的'if'語句 – VincenzoC