2011-12-01 288 views
0

我们收到了一个网站,向服务器发出json请求。服务器返回这些项目种类:jquery json日期过滤器

var items = new Array(); 
items[] = { 
    id: 1 
    date: '2011-12-01', 
    time: '03:00:00' 
    endDate: '2011-12-04', 
    endTime: '05:00:00' 
} 

现在我得到的是在客户端上的日期过滤器,所以你可以选择一个过滤器,那么它只会返回匹配该日期的项目。但这里是问题:

可以说用户选择一个日期例如:“2011-12-02”,它只会查看数组中的“日期”元素,但是如果endDate不为空(因为它不是必需的,那么该项目将持续一天)它必须在这些期间之间匹配,所以2011-12-02仍然会返回该项目,因为开始日期是2011年12月1日,结束日期是2011年 - 12-04所以它是在这两个日期之间,所以我仍然必须得到这个项目。

我该如何解决这个问题?

回答

1

您实际上必须解析这些日期并检查范围。

例如,

var myDate = new Date(2008, 9, 16); 
// is myDate between Sept 1 and Sept 30? 
var startDate = new Date(2008, 9, 1); 
var endDate = new Date(2008, 9, 30); 
if (startDate < myDate && myDate < endDate) { 
    alert('yes'); 
    // myDate is between startDate and endDate 
} 

other question

希望采取这有助于您进一步...