104 votes

Comment vérifier si la date de saisie est égale à la date d'aujourd'hui?

J'ai un champ de formulaire avec un identifiant 'date_trans'. Le format de ce champ de date (qui est validé côté serveur) peut être l'un des suivants :

  • dd/mm/yyyy
  • dd-mm-yyyy
  • yyyy-mm-dd
  • yyyy/mm/dd

Cependant, avant de soumettre le formulaire, je voudrais vérifier si le champ date_trans contient une date égale à la date d'aujourd'hui. Il est acceptable que la date saisie soit celle du client (c'est-à-dire qu'elle utilise js), car je vérifie également côté serveur.

Je suis totalement perdu sur la façon de réaliser la comparaison de dates en jQuery ou en Javascript classique. Si cela peut vous aider, j'utilise le jquery datepicker

1voto

L-Ray Points 1629

La solution suivante compare l'entier de timestamp divisé par les valeurs d'heures, de minutes, de secondes, de millisecondes.

var reducedToDay = function(date){return ~~(date.getTime()/(1000*60*60*24));};
return reducedToDay(date1) == reducedToDay(date2)

Le tilde tronque le résultat de la division (voir cet article sur la division entière)

0voto

shehan96 Points 225

Essayez ceci

// méthode pour vérifier si la date est inférieure à la date d'aujourd'hui
isLessDate(schedule_date : any){
  var _schedule_date = new Date(schedule_date);
  var date = new Date();
  var transformDate = this.datePipe.transform(date, 'yyyy-MM-dd');
  var _today_date = new Date(''+transformDate);
  if(_schedule_date < _today_date){
    return 'petit'
  }
  else if(_schedule_date > _today_date){
    return 'grand'
  }
  else {
    return 'même'
  }
}

-1voto

Diodeus Points 67946

Date.js est une bibliothèque pratique pour manipuler et formater les dates. Cela peut aider dans cette situation.

-1voto

Dineshgaru Points 163

La meilleure façon et la manière recommandée de comparer les dates en typescript est :

var today = new Date().getTime();
var reqDateVar = new Date(somedate).getTime();

if(today === reqDateVar){
 // NOW
} else {
 // Some other time
}

-3voto

Ronk Points 152
TodayDate = new Date();
if (TodayDate > AnotherDate) {} else{}

< = fonctionne également, bien que avec =, il pourrait falloir faire correspondre les millisecondes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X