[英]Custom filter between two dates
我正在嘗試過濾兩個日期之間的數據。 我正在嘗試修復它,但無法完成。 誰能幫我?
我的html:
<input type="date" ng-model="from_date">
<input type="date" ng-model="to_date">
我的ng-repeat:
<tr ng-repeat="item in outlets | dateRange:from_date:to_date">
<td>{{ item.offerID }}</td>
<td>{{ parseDate(item.startDate) | date:'yyyy-MM-dd' }}</td>
我的劇本:
app.filter('dateRange', function () {
return function (items, fromDate, toDate) {
var filtered = [];
console.log(fromDate, toDate);
var from_date = Date.parse(fromDate);
var to_date = Date.parse(toDate);
angular.forEach(items, function (item) {
if (item.startDate > from_date && item.startDate < to_date) {
filtered.push(item);
}
});
return filtered;
};
});
來自服務器的jason數據:
{
"offerID": "1"
, "merchant": "Rifa Ladies Salon"
, "outelt": "Rifa Ladies Salon Business Bay"
, "offer": "Rifa Ladies Salon- Offer 1"
, "offerStatus": "LIVE"
, "startDate": "2016-07-12"}
您正在按Date.parse進行比較,但在過濾器比較中:
if (item.startDate > from_date && item.startDate < to_date) {
item.startDate是' YYYY-MM-DD'格式, from_date和to_date是Date.parse()的時間戳 ,
因此,您只需要選擇是否使用Date.parse()? 這是您的解決方法:
if (Date.parse(item.startDate) > from_date && Date.parse(item.startDate) < to_date) {
}
完整的過濾器:
app.filter('dateRange', function () {
return function (items, fromDate, toDate) {
var filtered = [];
var from_date = Date.parse(fromDate);
var to_date = Date.parse(toDate);
if (!to_date || !from_date) {
return items;
}
angular.forEach(items, function (item) {
if (Date.parse(item.startDate) > from_date && Date.parse(item.startDate) < to_date) {
filtered.push(item);
}
});
return filtered;
};
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.