web-dev-qa-db-fra.com

Valider si la date est antérieure à la date du jour

En utilisant cette fonction, je reçois une différence de 7 jours; Comment puis-je tester si une date est antérieure à la date actuelle?

function validateDate() {
    pickedDate = Date.parse("05-Jul-2012".replace(/-/g, " "));
    todaysDate = new Date();
    todaysDate.setHours(0, 0, 0, 0);
    dateDifference = Math.abs(Number(todaysDate) - pickedDate);
    //7 Days=604800000ms
    if (dateDifference > 604800000) {
        return false;
    } else {
        return true;
    }
}
15
John

Vous pouvez directement comparer les deux dates comme 

return pickedDate <= todaysDate

Pour une comparaison de date exacte en millisecondes, vous pouvez utiliser JavaScript getMilliseconds (), méthode

Vous pouvez analyser la date comme vous l'avez fait:

pickedDatestr = "09-Apr-2010"
var pickedDate = new Date(Date.parse(pickedDatestr.replace(/-/g, " ")))
29
Hemant Metalia

Essayez cette fonction

function checkDate(day, month, year)
{
    var regd = new RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\$");

    var date = month + "/" + day + "/" + year;
    var date = new Date(date);
    var today = new Date();

    var vdob = regd.test(date);

    var err_txt = "" ;

    if(date.getDate() != day || (date.getTime()>today.getTime()))
    {
            err_txt+=("Please select a valid Date.\n")
    }

    return (err_txt);
}
2
Ashwini Agarwal

Pour la comparaison de date (sans heure):

function isDateBeforeToday(date) {
    return new Date(date.toDateString()) < new Date(new Date().toDateString());
}

isDateBeforeToday(new Date(2016, 11, 16));

Cas de test:

// yesterday
isDateBeforeToday(new Date(2018, 12, 20)); // => true

// today
isDateBeforeToday(new Date(2018, 12, 21)); // => false

// tomorrow
isDateBeforeToday(new Date(2018, 12, 22)); // => false
2
Christoph Bühler

Ce qui suit va vérifier si une date est antérieure à aujourd'hui:

function isBeforeToday(){
  var today = new Date((new Date()).toString().substring(0,15));
  return date < today;
}

Cela fonctionne en créant un nouvel objet de date après avoir enlevé toutes les informations de temps de la chaîne de date correspondante:

Tue Mar 06 2018 16:33:15 GMT-0500 (EST) -> Tue Mar 06 2018 -> Tue Mar 06 2018 00:00:00 GMT-0500 (EST)

0
Luke Salamone