begin process at 2013 05 22 09:31:39
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date & Heure

 > CALCULE D'AGE

CALCULE D'AGE


 Information sur la source

Note :
2 / 10 - par 2 personnes
2,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date & Heure Classé sous :calcul, âge Niveau :Initié Date de création :28/07/2003 Date de mise à jour :29/07/2003 15:26:28 Vu :15 281

Auteur : yanndroniou

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

C'est pour calculer l'age

Source

  • <HTML>
  • <HEAD><TITLE>Calcul de l'âge</TITLE>
  • <SCRIPT LANGUAGE="JavaScript">
  • function CheckDate(d) {
  • // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
  • // Le séparateur est défini dans la variable separateur
  • var amin=1850; // année mini
  • var amax=2500; // année maxi
  • var separateur="/"; // separateur entre jour/mois/annee
  • var j=(d.substring(0,2));
  • var m=(d.substring(3,5));
  • var a=(d.substring(6));
  • var ok=1;
  • if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
  • alert("Le jour n'est pas correct."); ok=0;
  • }
  • if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
  • alert("Le mois n'est pas correct."); ok=0;
  • }
  • if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
  • alert("L'année n'est pas correcte."); ok=0;
  • }
  • if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
  • alert("Les séparateurs doivent être des "+separateur); ok=0;
  • }
  • if (ok==1) {
  • var d2=new Date(a,m-1,j);
  • j2=d2.getDate();
  • m2=d2.getMonth()+1;
  • a2=d2.getYear();
  • if (a2<=100) {a2=1900+a2}
  • if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
  • alert("La date "+d+" n'existe pas !");
  • ok=0;
  • }
  • ok=d2;
  • }
  • return ok;
  • }
  • function tjs_age(dt) {
  • // Cette fonction retourne une chaîne de type :
  • // "15 ans et 6 mois"
  • var d=CheckDate(dt)
  • var m=new Date()
  • var age=""; var age_a=0;var age_m=0;
  • if (d!=0) {
  • if (d.getTime()>m.getTime()) {
  • age="La date de naissance est supérieure à la date du jour !";
  • document.formage.dt_naissance.focus();
  • }
  • age_a = m.getFullYear()-d.getFullYear();
  • m.setYear(d.getYear());
  • if ((d.getTime()>m.getTime())&&(d.getMonth()-m.getMonth()!=0)) {age_a--;}
  • if (d.getMonth() >= m.getMonth()) {
  • age_m = 12 - (d.getMonth()-m.getMonth())
  • } else {
  • age_m = (m.getMonth()-d.getMonth())
  • }
  • if (age_m==12) {age_m=0;}
  • if (age_a==1) { age=age_a+" an"}
  • if (age_a>1) { age=age_a+" ans"}
  • if ((age_a>0)&&(age_m>0)) {age+=" et "}
  • if (age_m>0) {age+=age_m+" mois"}
  • if (age=="") { age="moins de 1 mois"}
  • } else {
  • document.formage.dt_naissance.focus();
  • }
  • return age;
  • }
  • </SCRIPT>
  • </HEAD>
  • <BODY bgcolor="#FFFFFF">
  • <FONT FACE="Arial" SIZE='-1' COLOR="#000099">
  • <CENTER><BIG><B>Calcul de l'âge</B></BIG></CENTER>
  • <BR>
  • <FORM name="formage">
  • Entrez votre date de naissance (JJ/MM/AAAA) : <INPUT type=text name="dt_naissance" size=10 maxlength=10>
  • <INPUT type=button value="Calcul de l'âge" onClick="alert('Age = '+tjs_age(this.form.dt_naissance.value))">
  • </FORM>
  • Ce script contient 2 fonctions :<BR>
  • CheckDate() qui vérifie la validité de la date <BR>
  • tjs_age() qui retourne une chaîne de caractères de type "15 ans et 6 mois" ou "8 mois" ou "1 an"<BR>
  • <BR><BR><BR><BR><BR>
  • <CENTER><A href="http://www.toutjavascript.com"><FONT size="1" face="arial" color="#CCCFFF">Tout JavaScript.com</FONT></A></CENTER>
  • <BR>
  • </FONT>
  • </BODY></HTML>
<HTML>
<HEAD><TITLE>Calcul de l'âge</TITLE>
<SCRIPT LANGUAGE="JavaScript">


function CheckDate(d) {
      // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
      // Le séparateur est défini dans la variable separateur
      var amin=1850; // année mini
      var amax=2500; // année maxi
      var separateur="/"; // separateur entre jour/mois/annee
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=1;
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour n'est pas correct."); ok=0;
      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois n'est pas correct."); ok=0;
      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année n'est pas correcte."); ok=0;
      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur); ok=0;
      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=0;
         }
		 ok=d2;
      }
      return ok;
   }



function tjs_age(dt) {
	// Cette fonction retourne une chaîne de type :
	//  "15 ans et 6 mois"
	var d=CheckDate(dt)
	var m=new Date()
	var age=""; var age_a=0;var age_m=0;
	if (d!=0) {
		if (d.getTime()>m.getTime()) {
			age="La date de naissance est supérieure à la date du jour !";
			document.formage.dt_naissance.focus();
		}
		age_a = m.getFullYear()-d.getFullYear();
		m.setYear(d.getYear());
		if ((d.getTime()>m.getTime())&&(d.getMonth()-m.getMonth()!=0)) {age_a--;}
		if (d.getMonth() >= m.getMonth()) {
			age_m = 12 - (d.getMonth()-m.getMonth())
		} else {
			age_m = (m.getMonth()-d.getMonth())
		}
		if (age_m==12) {age_m=0;}
		if (age_a==1) { age=age_a+" an"}
		if (age_a>1) { age=age_a+" ans"}
		if ((age_a>0)&&(age_m>0)) {age+=" et "}
		if (age_m>0) {age+=age_m+" mois"}
		if (age=="") { age="moins de 1 mois"}
	} else {
		document.formage.dt_naissance.focus();
	}
	return age;
}
</SCRIPT>
</HEAD>

<BODY bgcolor="#FFFFFF">
<FONT FACE="Arial" SIZE='-1' COLOR="#000099">

<CENTER><BIG><B>Calcul de l'âge</B></BIG></CENTER>
<BR>

<FORM name="formage">
	Entrez votre date de naissance (JJ/MM/AAAA) : <INPUT type=text name="dt_naissance" size=10 maxlength=10>
	<INPUT type=button value="Calcul de l'âge" onClick="alert('Age = '+tjs_age(this.form.dt_naissance.value))">
</FORM>

Ce script contient 2 fonctions :<BR>
CheckDate() qui vérifie la validité de la date <BR>
tjs_age() qui retourne une chaîne de caractères de type "15 ans et 6 mois" ou "8 mois" ou "1 an"<BR>
<BR><BR><BR><BR><BR>
<CENTER><A href="http://www.toutjavascript.com"><FONT size="1" face="arial" color="#CCCFFF">Tout JavaScript.com</FONT></A></CENTER>




<BR>
</FONT>

</BODY></HTML> 



 Sources du même auteur

CHARGEMENT AVEC UNE BARRE DE POURCENTAGE (VRAI)
DATE HEURE UTC
Source avec Zip Source avec une capture DANCING FINGERS V1.3
Source avec Zip ALARME ET MESSAGE
LES NOM DES COULEURS

 Sources de la même categorie

Source avec Zip Source avec une capture CALENDRIER DE BASE par SebMoine
Source avec Zip HORODATER L'AFFICHAGE DU CONTENU D'UN FICHIER XML AVEC JQUER... par sulfur82
Source avec Zip Source avec une capture VALIDATION ET FORMATAGE D'UNE DATE par witre
NOMBRE DE JOURS, MOIS ET ANNÉES DEPUIS LA NAISSANCE par marcenana
Source avec Zip CALENDRIER ANNUEL UNIVERSEL AVEC SAINTS DU CALENDRIER ET FÊT... par 007Julien

 Sources en rapport avec celle ci

Source avec Zip CALCUL DE DÉFLEXION ENTRE ARC ET CORDE par Averell
CALCUL D'INCERTITUDE par Minilogus
Source avec Zip UNE CALCULATRICE par lgh
Source avec Zip Source avec une capture TABLEUR TYPE EXCEL par WhiteDwarf
CALCULATEUR. par lamillor

Commentaires et avis

Commentaire de Tanaka56 le 20/02/2007 12:11:52

Bonjour. Beaucoup ont vu cette source et aucun n'a mit de commentaire.
Je rencontre un problème. J'entre une date de naissance : 28/02/1989, la date du jour étant 20/02/2007 le calcul trouve 18 ans. Et bien non, il aura 18 ans dans 8 jours.
J'aurais voulu mettre ce script dans une page web mais il faut que le calcul soit précis. Sans doute une modif à faire. Cordialement

Commentaire de matheret le 02/03/2010 15:04:49

Déjà il faut modifier : if (a2<=1900) {a2=1900+a2}
puis enlever 2 fois document.formage.dt_naissance.focus() qui n'ont rien à faire là
puis modifier le coeur pour prendre en compte le jour dans le mois...  en faisant attention au 29 février

ça donne ça :
<SCRIPT LANGUAGE="JavaScript"><!--
function CheckDate(d) {
  // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
  // Le séparateur est défini dans la variable separateur
  var amin=1850; // année mini
  var amax=2500; // année maxi
  var separateur="/"; // separateur entre jour/mois/annee
  var j=(d.substring(0,2));
  var m=(d.substring(3,5));
  var a=(d.substring(6));
  var ok=1;
  if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
    alert("Le jour n'est pas correct."); ok=0;
  }
  if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
    alert("Le mois n'est pas correct."); ok=0;
  }
  if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
    alert("L'année n'est pas correcte."); ok=0;
  }
  if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
    alert("Les séparateurs doivent être des "+separateur); ok=0;
  }
  if (ok==1) {
    var d2=new Date(a,m-1,j);
    j2=d2.getDate();
    m2=d2.getMonth()+1;
    a2=d2.getYear();
    if (a2<=1900)
      a2=1900+a2;
    if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
      alert("La date "+d+" n'existe pas !");
      ok=0;
    }
    else
      ok=d2;
  }
  return ok;
}
function tjs_age(dt) {
  return tjs_age2(dt, new Date());
}
function tjs_age2(dt, auj) {
  // Cette fonction retourne une chaîne de type :
  // "15 ans et 6 mois"
  var d=CheckDate(dt);
  var age=""; var age_a=0;var age_m=0;
  if (d != 0) {
    if (d.getTime() > auj.getTime()) {
      age = "La date de naissance est supérieure à la date du jour !";
    }
    else {
      auj0 = (((auj.getFullYear() * 12) + auj.getMonth()) * 31) + auj.getDate();
      d0 = (((d.getFullYear() * 12) + d.getMonth()) * 31) + d.getDate();
      age0 = auj0 - d0;
      age_a = parseInt( age0 / (12*31) );
      age_m = parseInt( (age0 % (12*31)) / 31 );
      age_d = age0 % 31;
      if (age_a == 1)
        age = age_a + " an";
      if (age_a > 1)
        age = age_a + " ans";
      if ((age_a > 0) && (age_m > 0))
        age += " et ";
      if (age_m > 0)
        age += age_m + " mois";
      if (age == "")
        age = "moins d'un mois";
    }
  }
  return age;
}
// -->
</SCRIPT>

Commentaire de matheret le 24/03/2010 09:22:41

meilleur code :
<HTML>
<HEAD><TITLE>Calcul de l'âge</TITLE>
<SCRIPT LANGUAGE="JavaScript"><!--
function CheckDate(d) {
  // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
  // Le séparateur est défini dans la variable separateur
  var amin=1850; // année mini
  var amax=2500; // année maxi
  var separateur="/"; // separateur entre jour/mois/annee
  var j=(d.substring(0,2));
  var m=(d.substring(3,5));
  var a=(d.substring(6));
  var ok=1;
  if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
    alert("Le jour n'est pas correct."); ok=0;
  }
  if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
    alert("Le mois n'est pas correct."); ok=0;
  }
  if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
    alert("L'année n'est pas correcte."); ok=0;
  }
  if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
    alert("Les séparateurs doivent être des "+separateur); ok=0;
  }
  if (ok==1) {
    var d2=new Date(a,m-1,j);
    j2=d2.getDate();
    m2=d2.getMonth()+1;
    a2=d2.getYear();
    if (a2<=1900)
      a2=1900+a2;
    if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
      alert("La date "+d+" n'existe pas !");
      ok=0;
    }
    else
      ok=d2;
  }
  return ok;
}
function tjs_age(dt) {
  return tjs_age2(dt, new Date());
}
function isleapyear(year)
{
  if(year % 4 != 0)
    return 0;
  if(year % 100 != 0)
    return 1;
  if(year % 400 != 0)
    return 0;
  return 1;
}
function tjs_age2(dt, auj) {
  // Cette fonction retourne une chaîne de type :
  // "15 ans et 6 mois"
  var d=CheckDate(dt);
  var age=""; var age_a=0;var age_m=0;
  if (d != 0) {
    if (d.getTime() > auj.getTime()) {
      age = "La date de naissance est supérieure à la date du jour !";
    }
    else {
      auj0 = (auj.getFullYear() * 12) + auj.getMonth();
      d0 = (d.getFullYear() * 12) + d.getMonth();
      if (auj.getDate() < d.getDate()) {
        age_m = auj0 - d0 - 1;
        var NBDAYSPREVMONTH = new Array (31, 31, 28+isleapyear(auj.getFullYear()), 31, 30, 31, 30, 31, 31, 30, 31, 30);
        age_d = auj.getDate() + Math.max(0, NBDAYSPREVMONTH[auj.getMonth()] - d.getDate());
      }
      else {
        age_m = auj0 - d0;
        age_d = auj.getDate() - d.getDate();
      }
      age_a = parseInt( age_m / 12 );
      age_m %= 12;
      age_s = parseInt( age_d / 7 );
      
      if (age_a > 0) {
        if (age_a > 1)
          age = age_a + " ans";
        else
          age = "1 an";
      }
      
      if ((age_a < 2) && (age_m > 0)) {
        if (age != "")
          age += " et ";
        age += age_m + " mois";
      }
      
      if ((age_a < 1) && (age_s > 0)) {
        if (age != "")
          age += " et ";
        if (age_s == 1)
          age += "1 semaine";
        else
          age += age_s + " semaines";
      }
      
      if (age == "") {
        if (age_d == 1)
          age = "1 jour";
        else
          age = age_d + " jours";
      }
    }
  }
  return age;
}
// -->
</SCRIPT>
</HEAD>

<BODY bgcolor="#FFFFFF">
<FONT FACE="Arial" SIZE='-1' COLOR="#000099">

<CENTER><BIG><B>Calcul de l'âge</B></BIG></CENTER>
<BR>

<FORM name="formage">
Entrez votre date de naissance (JJ/MM/AAAA) : <INPUT type=text name="dt_naissance" size=10 maxlength=10>
<INPUT type=button value="Calcul de l'âge" onClick="alert('Age = '+tjs_age(this.form.dt_naissance.value))">
<p/>
<br>Aujourd'hui  (JJ/MM/AAAA) : <INPUT type=text name="dt_auj" size=10 maxlength=10>
<INPUT type=button value="Calcul de l'âge à cette date-là" onClick="alert('Age = '+tjs_age2(this.form.dt_naissance.value, CheckDate(this.form.dt_auj.value)))">
</FORM>
<p>
Ce script contient 2 fonctions :<BR>
CheckDate() qui vérifie la validité de la date <BR>
tjs_age() qui retourne une chaîne de caractères de type "15 ans et 6 mois" ou "8 mois" ou "1 an"<BR>
<BR><BR><BR><BR><BR>
(c) Olivier Matheret 2010



<BR>
</FONT></BODY></HTML>

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

calcul des jours feriés [ par michel ] Quelqu'un peut-il me dire si le calcul des jours feriés de l'année X existe en javascript ? Calcul de DATE avec JavaScript [ par Dzeus ] Salut, G besoin d'ecrire une fonction qui renvoie le nombre de jour exact écoulé entre deux dates ; exemple..20/02/2001 et 5/03/2001...ATTENTION : Il Calcul Arithmétique en JS [ par webdev ] Comment arrondir les valeurs numériques en JS.Deux valeurs sont récupérées dans 2 textbox, converties avec 'Eval' et on souhaite en calculer le rappor Calcul dans u formulaire [ par grakel ] Salut a tous, J'ai un piti probleme de javascript. Je souhaites faire un calcul dans un formulaire. schema type J'ai des champs texte puis un input="b calcul d'un nombre de jours entre deux dates [ par borisV ] Bonjour, je cherche à calculer (et afficher...) un nombre de jours en tapant une date d'arrivée et une date de départ.En fait, il faudrait peut-être s calcul score [ par jchv ] Bonjour à tous . Voilà mon problème : Est-il possible de créer une page (genre formulaire peut-être ?) ou on pourrait choisir pour chaque question (30 un javascript qui calcul le nombre de jour entre 2 date? [ par jetlee79 ] Bonjour,Je recherche désespérèment un javascript qui me dise le nombre de jours qu'il y a entre 2 date.Car j'ai une page html ou je saisie dans TXtDat calcul d'un prix dynamique lié à des infos sur formulaire [ par dinosaur ] Bonjourje débute et donc petits problèmesJ'ai des formulaires cases et déroulant auquels il faut que je lie des prix puis suivant les différents choix calcul de la moyenne [ par ludoweb ] Bonjour à tousComment faire pour calculer la moyenne de n champ de texte ?voici le code qui génére les champs de texte (il n'est pas de moi, merci a m Calcul automatique dans un formulaire [ par Looping2605 ] Bonjour @ tous,j'ai un petit problème pour mon formulaire. Je souhaiterais afficher dans un textarea un tarif qui fluctue selon les choix de l'utilisa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales