KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Jeudi 22 mai 2008 - 00:58:36

[JAVASCRIPT] convertir une date et comparer

Rechercher : dans
[JAVASCRIPT] convertir une date et comparer
par Isabelle
 Fil de Discussions
Statut : Résolu
lundi 19 décembre 2005 à 11:53:56
Bonjour,
Je désire convertir deux chaine au format "dd/mm/yyyy" en date javascript, puis comparer les deux dates.

Avez-vous un script sous la main ? je ne trouve rien de concluant sur Google.




Merci d'avance pour toute réponse


Isabelle
Répondre à Isabelle  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Zep3k!GnO, le lundi 19 décembre 2005 à 11:56:24 Fil de Discussions
en date javascript
tu veux dire par la ?! ( indique le format ,ex : jj/mm/aaaa)

Zep3k!GnO
Répondre à Zep3k!GnO

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par isabelle, le lundi 19 décembre 2005 à 12:20:54 Fil de Discussions
genre : du type date.
Le format "dd/mm/yyyy"
Répondre à isabelle

3


  • 2
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Par HackTrack, le lundi 19 décembre 2005 à 13:07:56 Fil de Discussions
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>

	<script>
	  //On suppose que la date entrée a été validée auparavant
	  //au format dd/mm/yyyy
	  function getDate(strDate){	  
	    day = strDate.substring(0,2);
		month = strDate.substring(3,5);
		year = strDate.substring(6,10);
		d = new Date();
		d.setDate(day);
		d.setMonth(month);
		d.setFullYear(year); 
		return d;  
	  }
	  
	  //Retorune:
	  //   0 si date_1=date_2
  	  //   1 si date_1>date_2
	  //  -1 si date_1<date_2	  
	  function compare(date_1, date_2){
	    diff = date_1.getTime()-date_2.getTime();
	    return (diff==0?diff:diff/Math.abs(diff));
	  }

	</script>
</head>

<body>

Date 1: <input name="d1" id="d1" type="text" value="01/10/2004" /><br/>
Date 2: <input name="d2" id="d2" type="text" value="02/05/2005" />
<p/>
<button onclick="javascript: alert(compare(getDate(document.all('d1').value),getDate(document.all('d2').value)));"­>Comparer</button>
</body>
</html>


;-)
HackTrack
Répondre à HackTrack

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Fraisouille, le vendredi 27 octobre 2006 à 10:21:51 Fil de Discussions
Attention avec javascript il faut retirer un au mois quand on détermine une date: dans le code ci-dessus il faut utiliser
d.setMonth(month-1);

plutôt que
d.setMonth(month);


;)
Répondre à Fraisouille

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Maxkater, le jeudi 1 février 2007 à 13:48:10 Fil de Discussions
Mmm il n'y a pas un autre problème aussi ?
		d = new Date();
		d.setDate(day);
		d.setMonth(month-1);
		d.setFullYear(year); 
		return d;  


Lorsque l'on dit new Date(), cela prend la date du jour. Or si par exemple on est en Février avec 28 jours dans le mois...

Si day vaut 31, vu que l'on execute le setDate en premier, la date va valoir 31/02/2006... Qui va etre converti automatiquement en 03/03/2006... Ce qui déjà à partir de là retourne une mauvaise date non ?

A ce moment là on peut tout simplement mettre à la place :

d = new Date(0); //01/01/1970


Ainsi on est sur. Parce que Janvier est un mois à 31 jours, donc on ne va pas déborder.
Répondre à Maxkater

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par un peu en retard mais quand meme, le jeudi 22 novembre 2007 à 13:59:34 Fil de Discussions
Merci
Répondre à un peu en retard mais quand meme

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Mael2, le mardi 4 décembre 2007 à 15:55:49 Fil de Discussions
Il faut penser aussi aux années bissextiles.

Cette année on est en 2007.

Donc si on a :
day = 29
month = 2
year = 2000

Et si on fait ceci :

d = new Date();
d.setDate(day);
d.setMonth(month-1);
d.setFullYear(year);
return d;

On aura en fait dans d le 01/03/2000

Il faudrait indiquer d'abord l'année, puis le mois et enfin le jour :
d = new Date();
d.setFullYear(year);
d.setMonth(month-1);
d.setDate(day);
return d;

Plus simplement on peut faire :
d = new Date(year, month-1, day);
Répondre à Mael2

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Throdo, le vendredi 28 mars 2008 à 18:04:15 Fil de Discussions 
En faisant appel à la méthode parse de l'obejt Date qui récupère le nombre de milliseconde depuis la date de référence de Javascript (env. 1970).
Il suffit après de faire une différence pour connaître si la date est supérieure, égale ou inférieure.

function fCompareDate(pDateDebut,pDateFin) {
var DureeDebut = Date.parse(pDateDebut);
var DureeFin = Date.parse(pDateFin);

var iComparaison= DureeFin - DureeDebut;

return iComparaison;
}

On peut décliner différemment l'utilisation de cette fonction selon les besoins.

Merci à SelfHTML pour les infos sur l'objet Date.
Lien direct vers la ressource : http://fr.selfhtml.org/javascript/objets/date.htm
Répondre à Throdo
Discussions pertinentes trouvées dans le forum
05/08 11h50Javascript : conversion date ?Programmation05/08 19h043
01/10 17h36Conversion date aaaammjj en jj/mm/aaaaLinux/Unix01/10 20h1311
01/02 11h23[MS-DOS] script de conversion dateProgrammation30/12 18h418
11/02 17h21Conversion date phpProgrammation12/02 11h2418
Plus de discussions sur « [JAVASCRIPT] convertir une date et comparer » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide