Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 02/07/2009, 12h35   #1
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 95
Points : 29
Points : 29
Par défaut comparaison date système date utilisateur

Salut,

voila je coince pour comparer 2 dates dans ce format :

M/AAAA 7/2009

En fait j'ai un champ date ou l'utilisateur renseigne une date dans ce format :

07/2009

Et je souhaite faire un filtre pour comprer la date rentrée par l'utilisateur et celle du jour avec mois+1

Exemple :

la date du jour (date système ou je récupère le mois+1 et l'année pour l'avoir dans ce format ) donc ici la date du jour avec mois+1 est 8/2009

la date renseigner par l'utilisateur : 07/2009

puis après transformation dans ma fonction cela devient 7/2009

Si la date renseignée par l'utilisateur est inférieur à celle du système alors j'affiche un message d'erreur date invalide.

Voila j'ai commencé avec cela je récupère mes deux dates dans ce format m/aaaa mais après je bloque pour la comparaison :

Code :
1
2
3
4
5
6
7
8
9
function dateDebut() {
// date du jour
var DateJour=new Date()
var mois =DateJour.getMonth()+2
var annee =DateJour.getFullYear()
var dateJ = (mois)+"/"+(annee)
// date renseignée par l'utilisateur
var dateD = document.forms["saisie_avk"].elements["Date_Deb_Validite"].value
var DateD = dateD.replace(/0(\d\/)/,"$1")


Merci
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 12h42   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 4 774
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 4 774
Points : 6 723
Points : 6 723
Salut,
Tu peux voir comment comparer 2 date
http://javascript.developpez.com/faq...dates.comparer
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 12h47   #3
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
avec le format M/AAAA il te suffirati de faire un split('/') puis replace du 0 sur M et un reverse join pour que les chaine deviennent comparables
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 15h32   #4
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 95
Points : 29
Points : 29
Pour l'instant avec mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
var DateJour=new Date()
var mois =DateJour.getMonth()+2
var annee =DateJour.getFullYear()
var dateJ = (mois)+"/"+(annee)
document.write(dateJ)
document.write("<br>")
// date renseignée par l'utilisateur
var dateD = "10/2009"
// document.forms["saisie_avk"].elements["Date_Deb_Validite"].value
var DateD = dateD.replace(/0(\d\/)/,"$1") 
document.write(DateD)
j'ai ceci en résultat :

date système : 8/2009

date début champ : 6/2009

Maintenant comment je peux faire pour comparer mes deux dates ?

Si date début champ < date système alors message erreur votre date de début doit être supérieure ou egale à la date système


Merci
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 15h44   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 4 774
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 4 774
Points : 6 723
Points : 6 723
Citation:
avec le format M/AAAA il te suffirati de faire un split('/') puis replace du 0 sur M et un reverse join pour que les chaine deviennent comparables
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 15h51   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
Code :
1
2
3
4
5
6
7
8
9
10
// date renseignée par l'utilisateur
var dateD = "01/2009";
var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
 
//date de référence
var dateR = "03/2009";
var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
var test=(DateR>DateD)?"antérieure":"postérieure";
var test=(DateR==DateD)?"égale à":test;
alert("la date saisie est "+test+" à la date de référence");
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 16h38   #7
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 95
Points : 29
Points : 29
Merci SpaceFrog,

j'ai modifié un peu le code par rapport à mon besoin car mes dates ne sont pas en dures. j'utilise une date système et l'autre date est récupérée d'un champ.

Le problème c'est que quand je rentre une date par exemple :

Date système = 08/2009
date début champ = 02/2010

mon message m'affiche que la date est antérieure à la date de référence !!!
Alors que normalement elle devrait être postérieure.....

voici le code complet :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
<html>
<head>
<SCRIPT language=javascript>
 
 
// date renseignée par l'utilisateur
function dateDebut() {
var dateD = document.forms["saisie_avk"].elements["Date_Deb_Validite"].value;
var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').join('');
document.write(DateD)
document.write("<br>")
//date du système
var DateJour=new Date()
var mois =DateJour.getMonth()+2
var annee =DateJour.getFullYear()
var dateR = (mois)+"/"+(annee)
var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
var test=(DateR>DateD)?"antérieure":"postérieure";
var test=(DateR==DateD)?"égale à":test;
alert("la date de début est "+test+" à la date de référence, veuillez ressaisir une date valide");
 
}
 
</script>
<body>
<form method="post" action=""  name="saisie_avk" >
<td width="300">	
			<font   size ="2"><b><font color="red">*</font>
						AVK : Date de début de validité (mm/aaaa)
					</b></font><input  name="Date_Deb_Validite"  id="dte_deb_validite"  size=10 maxlength=7   onchange="dateDebut(this.form.Date_Deb_Validite)" >
				    </td>
</form>
</body>
</head>
</html>
merci encore
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 16h56   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript" >
 
// date renseignée par l'utilisateur
var dateD = "02/2010";
var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
 
//date de référence
var dateR = "08/2009";
var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
var test=(DateR>DateD)?"antérieure":"postérieure";
var test=(DateR==DateD)?"égale à":test;
 
alert("la date saisie est "+test+" à la date de référence");
</script>
j'ai bien postérieure ... ton adaptation est boiteuse...

évites le document.write ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 18h10   #9
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 95
Points : 29
Points : 29
Merci SpaceFrog,

j'ai modifié un peu le code par rapport à mon besoin car mes dates ne sont pas en dures. j'utilise une date système et l'autre date est récupérée d'un champ.

Le problème c'est que quand je rentre une date par exemple :

Date système = 08/2009
date début champ = 02/2010

mon message m'affiche que la date est antérieure à la date de référence !!!
Alors que normalement elle devrait être postérieure.....

voici le code complet :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
<html>
<head>
<SCRIPT language=javascript>
 
 
// date renseignée par l'utilisateur
function dateDebut() {
var dateD = document.forms["saisie_avk"].elements["Date_Deb_Validite"].value;
var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').join('');
document.write(DateD)
document.write("<br>")
//date du système
var DateJour=new Date()
var mois =DateJour.getMonth()+2
var annee =DateJour.getFullYear()
var dateR = (mois)+"/"+(annee)
var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
var test=(DateR>DateD)?"antérieure":"postérieure";
var test=(DateR==DateD)?"égale à":test;
alert("la date de début est "+test+" à la date de référence, veuillez ressaisir une date valide");
 
}
 
</script>
<body>
<form method="post" action=""  name="saisie_avk" >
<td width="300">	
			<font   size ="2"><b><font color="red">*</font>
						AVK : Date de début de validité (mm/aaaa)
					</b></font><input  name="Date_Deb_Validite"  id="dte_deb_validite"  size=10 maxlength=7   onchange="dateDebut(this.form.Date_Deb_Validite)" >
				    </td>
</form>
</body>
</head>
</html>
merci encore
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 18h19   #10
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 95
Points : 29
Points : 29
En fait

voila moi je souhaite utiliser la date système comme date de référence.

j'utilise donc new date()

puis j'utilise getMonth() et getFullYear() pour récupérer le mois et l'année et enfin je concatène le tout.

Donc j'obtiens une date dans ce format : 8/2009

Puis j'utilise ta fonction replace pour mettre ma date dans ce format :

082009


Code :
1
2
3
4
ar DateJour=new Date()
var mois =DateJour.getMonth()+2
var annee =DateJour.getFullYear()
var dateR = (mois)+"/"+(annee)
mais le problème c'est que ma date de début est au format 201002 donc cela pose un problème pour les comparer.

Code :
1
2
 
var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
Donc en fait il me faut transformer ma date de référence 082009 en 200908 pour que la comparaison fonctionne

mais comment faire car ta fonction replace me rajoute bien le 0 dans mon mois mais me sort le résultat sous cette forme 082009 alors qu'il me faut 200908

Merci d'avance
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 19h53   #11
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 109
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 109
Points : 6 292
Points : 6 292
Bonsoir SpaceFrog.

Citation:
Envoyé par SpaceFrog Voir le message
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript" >
 
// date renseignée par l'utilisateur
var dateD = "02/2010";
var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
 
//date de référence
var dateR = "08/2009";
var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
var test=(DateR>DateD)?"antérieure":"postérieure";
var test=(DateR==DateD)?"égale à":test;
 
alert("la date saisie est "+test+" à la date de référence");
</script>
Comme je ne suis pas expert avec les RegExp, j'aime décortiquer des exemples. Celui-ci est parfaitement fonctionnel, mais à quoi sert le replace dans ce cas, j'ai le même résultat sans lui :
Code :
1
2
3
4
 
console.log(dateD.split('/').reverse().join(''));
 
var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
Deuxième question sur replace(/^(\d)\//,"0$1") je pensai qu'il fallait écrire replace(/^(\d)\//,"$1") ou par exemple : replace(/^(\d)([A-Za-z])/,"$1, $2") ; à quoi sert le zéro ?
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si ce message (ou un autre) vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 08h34   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
tu as le meêm resultat parceque les deux dates prises en exemple commencent par 0
essaye un mois à partir de octobre et un autre avant ...

pour ce qui est de l'année ... 1002 essaye avec getUTCFullYear
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h01   #13
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 95
Points : 29
Points : 29
Salut SpaceFrog,

non mais en fait je veux juste transformé ce format : 082009 EN 200908....

Y a t il une fonction ?

Merci
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h03   #14
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
a ton avis il fait quoi mon scipt ?

il transforme comme ceci:

3/2008 => 03/2008 =>200803
07/2009 => 07/2009 => 200907
10/2005 > 10/2005 => 200510
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h34   #15
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 95
Points : 29
Points : 29
Désolé mais je viens de tester eh voila le résultat :

si j'ai bien compris j'ai rentré une date

j'utilise ta fonction qui transforme la date en rajoutant un 0 pour le mois et doit inverser la date.

Code :
var DateR = d.replace(/^(\d)\//,"0$1").split('/').reverse().join('');

Normalement d'après toi cela devrait donner :

3/2009 => 03/2009 => 200903

sauf que moi cela me donne :

032009


Voici le code pour tester :

Code :
1
2
3
4
5
6
<script> 
date = "3/2009"
var DateR = d.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
document.write("<br>")
document.write(DateR);
</script>
Désolé pour le dérangement.....
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h41   #16
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
date=
puis d.replace

si tu ne remplace pas dans la bonne variable pas étonnant

par contre si tu utilises les bonnes variables:
Code :
1
2
3
4
<script type='text/javascript'>
d = "3/2009"
alert(d.replace(/^(\d)\//,"0$1").split('/').reverse().join(''));
</script>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 11h36   #17
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 95
Points : 29
Points : 29
Oui désolé j'avais vu pour la variable,

oui mais j'ai toujours mon problème :

Cela me donne 032009 alors que je souhaite 200903


merci
bambino13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 12h08   #18
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 109
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 109
Points : 6 292
Points : 6 292
Bonjour SpaceFrog.

Merci, je crois avoir bien compris maintenant.

J'ai fait une petite modification dans le replace
Code :
replace(/^(\d)\//,"0$1/")
et je crois que c'est ce qui trouble bambino13.

Voici mon test :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="Author" content="Daniel Hagnoul" />
	<title>Page type</title>
	<style type="text/css">
		body {
			background-color:#696969;
			color:#000000;
			font-family:Arial, Helvetica, sans-serif;
			font-size:medium;
			font-style:normal;
			font-weight:normal;
			line-height:normal;
			letter-spacing:normal;
		}
		h1,h2,h3,h4,h5 {
			font-family:"Times New Roman", Times, serif;
		}
		div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img {
			margin:0px;
			padding:0px;
		}
		p {
			padding:6px;
		}
		ul,ol,dl {
			list-style:none;
			padding-left:6px;
			padding-top:6px;
		}
		li {
			padding-bottom:6px;
		}
		div#conteneur {
			width:95%;
			margin:12px auto;
			padding:6px;
			background-color:#FFFFFF;
			color:#000000;
			border:1px solid #666666;
			font-size:0.8em;
		}
		div#affiche {
			margin:12px;
			border:1px solid #999999;
		}
	</style>
	<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script>
	<script type="text/javascript">
		$(document).ready(function(){
			var dates = ["1/2009","2/2009","3/2009","4/2009","5/2009","6/2009","7/2009","8/2009","10/2009","11/2009","12/2009"];
			var dlength = dates.length;
 
			for (var i in dates) {
				// date renseignée par l'utilisateur
				var dateD = dates[i];
 
				var DateD = dateD.replace(/^(\d)\//,"0$1/").split('/').reverse().join('');
 
				//date de référence
				var dateR = "10/2009";
 
				var DateR = dateR.replace(/^(\d)\//,"0$1/").split('/').reverse().join('');
 
				var test=(DateR>DateD)?"antérieure":"postérieure";
				var test=(DateR==DateD)?"égale à":test;
 
				//alert("la date saisie est "+test+" à la date de référence");	
 
				$("#affiche").append("<p>La date saisie " + DateD + " est " + test + " à la date de référence " + DateR + ".</p>");
			}
		});
	</script>
</head>
<body>
	<div id="conteneur">
		<p>
			Le code transforme comme ceci :<br />
			<br />
			3/2008 => 03/2008 =>200803<br />
			07/2009 => 07/2009 => 200907<br />
			10/2005 > 10/2005 => 200510
		</p>
		<div id="affiche"></div>
	</div>
</body>
</html>
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si ce message (ou un autre) vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 12h08   #19
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
a priori un petit souci avec le regExp sous js ...

celle ci sera plus universelle
Code :
alert(d.replace(/^(\d\/)/,"0$1").split('/').reverse().join(''));
j'avais simpleemnt oublié d'inclure le / dans le remplacement

d'ailleurs ceci aussi fonctionne:

Code :
d.replace(/^(\d)\//,"0$1/").split('/').reverse().join('');
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 12h40   #20
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 95
Points : 29
Points : 29
Merciiiiiiiiiiiiii à vous deux ça fonctionne........................

bambino13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 13h41.


 
 
 
 
Partenaires

Hébergement Web