Les dates avec java script
Mimi
-
intassoura intissar Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
intassoura intissar Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici ce code java script qui vérifie si la début >date_fin
Je veux transformer se code pour qu'il vérifie la date de cette forme 2012 /05/ 28 au lieu de cette forme 28 /05/2012
Merci D'avance de votre aide
Voici ce code java script qui vérifie si la début >date_fin
Je veux transformer se code pour qu'il vérifie la date de cette forme 2012 /05/ 28 au lieu de cette forme 28 /05/2012
<head> <script type="text/javascript"> <!-- // Script proposé par Marcus Eric - V1 : 2005 // V2 : 08/2006 // Enleve le '0' des nb < 10 function ConvNum(tabDeDate) { for (i=0; i<tabDeDate.length; i++) tabDeDate[i] = (tabDeDate[i].charAt(0)=='0')?tabDeDate[i].charAt(1):tabDeDate[i]; return tabDeDate; } // Retourne true si valeur_date est postérieure à la date du jour function DateFuture(valeur_date) {var tabDate = valeur_date.split('/'); var datAujourdhui = new Date(); tabDate = ConvNum(tabDate); if (valeur_date.length > 0) { var datTest_Date = new Date(parseInt(tabDate[2]), parseInt(tabDate[1])-1, parseInt(tabDate[0])); if (datTest_Date <= datAujourdhui) return false; } return true; } // Retourne 1 si valeur_date1 < valeur_date2 // 0 si valeur_date1 = valeur_date2 // -1 si valeur_date1 > valeur_date2 function Compare_Dates(valeur_date1, valeur_date2) {var tabDate1 = valeur_date1.split('/'); tabDate1 = ConvNum(tabDate1); var datTest_Date1 = new Date(parseInt(tabDate1[2]), parseInt(tabDate1[1])-1, parseInt(tabDate1[0])); var tabDate2 = valeur_date2.split('/'); tabDate2 = ConvNum(tabDate2); var datTest_Date2 = new Date(parseInt(tabDate2[2]), parseInt(tabDate2[1])-1, parseInt(tabDate2[0])); return (datTest_Date2-datTest_Date1==0)?"0":(datTest_Date2-datTest_Date1<0)?"-1":"1"; } // Vérifie le format d une date saisie function Verif_Date(valeur_date) { var tabDate = valeur_date.split('/'); tabDate = ConvNum(tabDate); var datTest_Date = new Date(parseInt(tabDate[2]), parseInt(tabDate[1])-1, parseInt(tabDate[0])); if (valeur_date.length>10) { alert('Ne dois pas dépasser 10 caractères.'); return false; } for (i=0; i<valeur_date.length; i++) { if (valeur_date.charAt(i) == ' ') { alert("La date ne doit pas contenir d\'espaces."); return false; } } if (valeur_date.length > 0) { if ((parseInt(tabDate[0]) != datTest_Date.getDate()) || (parseInt(tabDate[1]) != parseInt(datTest_Date.getMonth())+1)) { alert("Veuillez saisir la date au format 'J/M/SSAA' ou JJ/MM/SSAA.\n\nex : 6/6/2004 ou 06/06/2004"); return false; } if ((tabDate[2].length != 4) || (parseInt(tabDate[2]) < 1980) || (parseInt(tabDate[2]) > 2099)) { alert("Veuillez saisir l'année sur 4 chiffres.\n\nElle doit être comprise entre 1980 et 2099."); return false; } } return true; } function ControleDates() { var strMsg=''; if (Verif_Date(document.getElementById('debut').value) && Verif_Date(document.getElementById('fin').value)) { switch (Compare_Dates(document.getElementById('debut').value, document.getElementById('fin').value)) { case "-1" : alert('KO:\nDate début > Date fin'); break; case "0" : alert('KO:\nDate début = Date fin'); break; case "1" : alert('OK:\nDate début < Date fin'); break; default : alert('Comparaison impossible');break; } } } //--> </script>
Merci D'avance de votre aide
A voir également:
- Les dates avec java script
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Script vidéo youtube - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
3 réponses
Salut Mimi,
Tu te compliques la vie.
Avec un format "2012/05/28" les chaînes de caractères composant ces dates peuvent être comparées par Javascript avec ses opérateurs standards (==, < ou >). La raison en est que le tri alphabétique de ces chaînes de caractères se trouve correspondre aussi à l'ordre chronologique.
Il suffit préalablement de vérifier que la saisie correspond à ce format et la comparaison est triviale.
Par exemple :
Dal
Tu te compliques la vie.
Avec un format "2012/05/28" les chaînes de caractères composant ces dates peuvent être comparées par Javascript avec ses opérateurs standards (==, < ou >). La raison en est que le tri alphabétique de ces chaînes de caractères se trouve correspondre aussi à l'ordre chronologique.
Il suffit préalablement de vérifier que la saisie correspond à ce format et la comparaison est triviale.
Par exemple :
var date1 = "2012/05/28"; var date2 = "2012/05/27"; if ( date1.match(/^\d{4}\/\d{2}\/\d{2}$/) && date2.match(/^\d{4}\/\d{2}\/\d{2}$/) ) { if (date1 == date2) alert("les dates sont identiques") else if (date1 < date2) alert("La première date est antérieure") else if (date1 > date2) alert("La deuxième date est antérieure"); } else { alert("Erreur : les dates doivent être au format aaaa/mm/jj."); }
Dal
petit code pour changer l'ordre
->Date = Date.substr(6,4)+'-'+Date.substr(3,2)+'-'+Date.substr(0,2);
avec un datepicker au format calendrier little endian, (jj/mm/aaaa) cela peut être utile plustôt que de forcer l'utilisateur à saisir la date dans un format inhabituel
le code ci-dessus te permet de retranscrire une date (jj/mm/aaaa) en (aaaa/mm/jj)
->Date = Date.substr(6,4)+'-'+Date.substr(3,2)+'-'+Date.substr(0,2);
avec un datepicker au format calendrier little endian, (jj/mm/aaaa) cela peut être utile plustôt que de forcer l'utilisateur à saisir la date dans un format inhabituel
le code ci-dessus te permet de retranscrire une date (jj/mm/aaaa) en (aaaa/mm/jj)
Merci Dal ,j'avais un problème de connexion