Les dates avec java script
Mimi
-
intassoura intissar Messages postés 3 Statut Membre -
intassoura intissar Messages postés 3 Statut Membre -
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
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Script vidéo youtube - Guide
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
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