2011-12-01 3 views
0

Nous avons un site Web qui envoie une requête JSON au serveur. Le serveur renvoie ce genre d'articles:jquery json filtre de date

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

Maintenant, ce que je suis arrivé est un filtre de date sur le côté client, de sorte que vous pouvez choisir un filtre puis il ne retourner les articles correspondant à cette date. Mais voici le problème:

Supposons que les utilisateurs choisissent une date par exemple: "2011-12-02", il regardera UNIQUEMENT l'élément "date" dans le tableau, mais si le paramètre endDate n'est pas nul (parce que ce n'est pas obligatoire, l'article durera un jour) il doit correspondre entre ces périodes, donc 2011-12-02 retournerait toujours l'article puisque la date de début était 2011-12-01 et la date de fin était 2011- 12-04 donc c'est entre ces deux dates, donc je devrais encore obtenir l'article.

Comment résoudre ce problème?

Répondre

1

Vous devez analyser ces dates et vérifier la portée.

Par exemple,

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 
} 

pris de other question

espère que cela aide votre plus loin ...