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?

InformationsquelleAutor Tapas Bose | 2012-11-08