Vérifier si une date dans la zone de réception
Je suis en train de vérifier si une date de format mm.dd.aaaa est plus grande qu'aujourd'hui et moins de la date à partir de 6 mois à partir d'aujourd'hui.
Voici mon code:
var isLinkExpiryDateWithinRange = function(value) {
var monthfield = value.split('.')[0];
var dayfield = value.split('.')[1];
var yearfield = value.split('.')[2];
var inputDate = new Date(yearfield, monthfield - 1, dayfield);
var today = new Date();
today = new Date(today.getFullYear(), today.getMonth(), today.getDate());
alert(inputDate > today);//alert-> true
var endDate = today;
endDate.setMonth(endDate.getMonth() + 6);
alert(inputDate > today);//alert-> false
if(inputDate > today && inputDate < endDate) {
alert('1');
} else {
alert('2');/always alert it
}
}
Si j'exécute isLinkExpiryDateWithinRange('12.08.2012')
je voudrais qu'il va montrer 1 que c'est au sein de la gamme, mais c'est l'affichage de 2. En outre, la première alerte est de montrer le vrai et le second faux.
Quelqu'un peut-il expliquer ce qui se passe?
Vous devez vous connecter pour publier un commentaire.
Changement:
à:
Voir les postes ici pour la manière dont les objets sont référencés et changé. Il y a vraiment de bons exemples qui permettent d'expliquer la question, notamment:
JSFiddle exemple
Ci-dessous la fonction vérifie si la date choisie est dans les 5 jours à partir d'aujourd'hui. Format de Date utilisé est "DD-MM-YYYY", vous pouvez utiliser n'importe quel format en changeant la valeur.split('-')[1] l'ordre et de la scission de caractère.