begin process at 2012 05 27 20:07:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > EXEMPLE DE CALCUL D'AGE (ANNÉES, MOIS ET JOURS)

EXEMPLE DE CALCUL D'AGE (ANNÉES, MOIS ET JOURS)


 Description

Voila un code trouvé sur un autre site que j'ai traduit pour CS. Vous pouvez calculer l'age d'une personne en Annees Mois Jours

Et en prime le script indique si vous pouvez ou non entrer dans l'armée ;-)

Source

  • <?php
  • //récupére la date du jour
  • $today = getdate();
  • $month = $today['month']; //le mois
  • $mday = $today['mday']; //le jour
  • $year = $today['year']; //l'année
  • $lyear = $year - 105;
  • ?>
  • <html>
  • <head>
  • </head>
  • <body>
  • <h2>Calculer l'age</h2>
  • <h4>Ce script calcule votre age et vous dit si vous pouvez entrer dans l'armée</h4>
  • <form method=post action=age.php name=age>
  • <table>
  • <tr>
  • <td>Année de naissance</td>
  • <td><input type=text name=byear></td>
  • </tr>
  • <tr>
  • <td>Mois de naissance</td>
  • <td><select name=bmonth><option value=>Choisir</option>
  • <option value=1>Janviers&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</option>
  • <option value=2>Fevrier</option>
  • <option value=3>Mars</option>
  • <option value=4>Avril</option>
  • <option value=5>Mai</option>
  • <option value=6>Juin</option>
  • <option value=7>Juillet</option>
  • <option value=8>Aout</option>
  • <option value=9>Septembre</option>
  • <option value=10>Octobre</option>
  • <option value=11>Novembre</option>
  • <option value=12>Decembre</option>
  • </select></td>
  • </tr>
  • <tr>
  • <td>Jour de naissance</td>
  • <td><input type=text name=bday></td>
  • </tr>
  • <tr>
  • <td colspan=2><input type=submit name=send value=Submit></td>
  • </tr>
  • </table>
  • </form>
  • <?
  • //assign value to variables
  • if($send){
  • if(($byear <= $year)&&($byear >= $lyear)){ //birth year validation
  • if($bday != ""){
  • $day_age = $mday - $bday;
  • }
  • $mon_age = date("n") - $bmonth + 12;
  • $year_age = $year - $byear;
  • //echo "day age: $day_age<br>";
  • //calculate year and month
  • if($mon_age > 12){
  • $mon_age = 1;
  • }elseif($mon_age == 12){
  • $mon_age = "";
  • }else{
  • $year_age = $year_age - 1;
  • }
  • //calculate month and day
  • if($day_age < 0){
  • $mon_age = $mon_age - 1;
  • if(($bmonth == 1)||($bmonth == 5)||($bmonth == 7)||($bmonth == 8)||($bmonth == 10)||($bmonth == 12)){
  • $day_age = $day_age + 31;
  • }elseif(($bmonth == 3)||($bmonth == 4)||($bmonth == 6)||($bmonth == 9)||($bmonth == 11)){
  • $day_age = $day_age + 30;
  • }else{
  • $day_age = $day_age + 28;
  • }
  • }
  • //debugger
  • //echo "from system: $year $month $mday<br>";
  • //echo "from input: $byear $bmonth $bday<br>";
  • //echo "from result: $year_age $mon_age $day_age<br>";
  • //result
  • if(($mon_age <> "")&&($day_age <> "")){
  • echo "Vous avez " . $year_age . " ans " . $mon_age . " mois and " . $day_age . " jours ";
  • }elseif($mon_age <> ""){
  • echo "You avez " . $year_age . " ans " . $mon_age . " mois";
  • }else{
  • echo "You avez " . $year_age . " ans";
  • }
  • //some extra caption
  • if($year_age < 5){
  • echo "<br>Ca veut dire que vous etes trop jeune. Désolé";
  • }elseif($year_age > 90){
  • echo "<br>Ca veux dire que vous êtes trop vieux. Désolé";
  • }else{
  • echo "<br>Allez-y Soldat!";
  • }
  • }else{
  • echo "Entrée invalide : $byear";
  • }
  • }
  • ?>
<?php

//récupére la date du jour
$today = getdate();
$month = $today['month']; //le mois
$mday = $today['mday']; //le jour
$year = $today['year']; //l'année
$lyear = $year - 105;
?>

<html>
<head>
</head>
<body>
<h2>Calculer l'age</h2>
<h4>Ce script calcule votre age et vous dit si vous pouvez entrer dans l'armée</h4>
    <form method=post action=age.php name=age>
    <table>
    <tr>
    <td>Année de naissance</td>
    <td><input type=text name=byear></td>
    </tr>
    <tr>
    <td>Mois de naissance</td>
    <td><select name=bmonth><option value=>Choisir</option>
	    		<option value=1>Janviers&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</option>
	    		<option value=2>Fevrier</option>
	    		<option value=3>Mars</option>
	    		<option value=4>Avril</option>
	    		<option value=5>Mai</option>
	    		<option value=6>Juin</option>
	    		<option value=7>Juillet</option>
	    		<option value=8>Aout</option>
	    		<option value=9>Septembre</option>
	    		<option value=10>Octobre</option>
	    		<option value=11>Novembre</option>
	    		<option value=12>Decembre</option>
	    		</select></td>
    </tr>
    <tr>
    <td>Jour de naissance</td>
    <td><input type=text name=bday></td>
    </tr>
    <tr>
    <td colspan=2><input type=submit name=send value=Submit></td>
    </tr>
    </table>
</form>

<?

//assign value to variables
if($send){
	if(($byear <= $year)&&($byear >= $lyear)){ //birth year validation
	if($bday != ""){
		$day_age  = $mday - $bday;
	}
	$mon_age = date("n") - $bmonth + 12;
	$year_age = $year - $byear;
	//echo "day age: $day_age<br>";

	//calculate year and month
	if($mon_age > 12){
		$mon_age = 1;
	}elseif($mon_age == 12){
		$mon_age = "";
	}else{
		$year_age = $year_age - 1;
	}

	//calculate month and day
	if($day_age < 0){
		$mon_age = $mon_age - 1;
		if(($bmonth == 1)||($bmonth == 5)||($bmonth == 7)||($bmonth == 8)||($bmonth == 10)||($bmonth == 12)){
			$day_age = $day_age + 31;
		}elseif(($bmonth == 3)||($bmonth == 4)||($bmonth == 6)||($bmonth == 9)||($bmonth == 11)){
			$day_age = $day_age + 30;
		}else{
			$day_age = $day_age + 28;
		}
	}

	//debugger
	//echo "from system: $year $month $mday<br>";
	//echo "from input: $byear $bmonth $bday<br>";
	//echo "from result: $year_age $mon_age $day_age<br>";
	//result
	if(($mon_age <> "")&&($day_age <> "")){
		echo "Vous avez " . $year_age . " ans " . $mon_age . " mois and " . $day_age . " jours ";
	}elseif($mon_age <> ""){
		echo "You avez " . $year_age . " ans " . $mon_age . " mois";
	}else{
		echo "You avez " . $year_age . " ans";
	}

	//some extra caption
	if($year_age < 5){
		echo "<br>Ca veut dire que vous etes trop jeune. Désolé";
	}elseif($year_age > 90){
		echo "<br>Ca veux dire que vous êtes trop vieux. Désolé";
	}else{
		echo "<br>Allez-y Soldat!";
	}
}else{
	echo "Entrée invalide : $byear";
}
}
?>

 Conclusion

Alors pour tous et bien bonne utilisation, ce code n'est pas de moi, je vous le livre parceque j'ai cherché cette fonction de calcul (Année, Mois, Jours)

Et pour GRenard je sais que cette source est inutile et pollue CodeS-SourceS mais j'ai eu envie de la poster au cas ou cela pourrait aider quelqu'un. Je sais contrairement a toi que je ne suis pas le meilleur programmeur du monde alors j'apporte une maigre contribution a CodeS-SourceS.


 Sources du même auteur

NOMBRE DE JOURS ENTRE DEUX DATE EN UNE SEULE LIGNE
TUTORIAL : TOUS LES SECRETS DES SESSIONS ET DES COOKIES EN P...
Source avec Zip Source avec une capture APPLICATION : UN CALENDRIER VERTICAL MULTI-UTILISATEUR AVEC ...
ENVOI DE MAIL AVEC PIECE JOINTE
TUTORIAL : PHP CONSTRUIT LES BASES, LES TABLES ET LES CHAMPS...

 Sources de la même categorie

Source avec une capture AGENDA GRAPHIQUE SIMPLE (DÉBUTANT) À INTÉGRER par NicomakM
CALCUL DU NOMBRE DE JOURS CONTENUS DANS L'INTERSECTION DE DE... par curphey
CALENDRIER EN 70 LIGNES par tchconst
Source avec Zip CALENDRIER par gabay
CALENDRIER SIMPLE par manuche

Commentaires et avis

Commentaire de fuckya le 26/09/2004 16:55:05

Jolie explication finale ^_^

Mais pour le code, y'a beaucoup plus simple. On peut faire ca en une ligne (moi j'ai integre ca dans une fonction avec plusieurs tests)

http://www.phpcs.com/code.aspx?ID=26354

Et la t'as plus qu'a faire : if($date > 18) {echo "Vous pouvez entrer dans l'armee";}

;)

Commentaire de Magidev le 26/09/2004 18:17:37

Voila ce que j'appelle un commentaire, c'est sympa et pas agressif pour deux sous, contrairement a certains.

Je vais aller voir ce lien de suite ;-)

Ah la la fuckya nous sommes de pietres pollueurs de CodeS-SourceS.com pfuu que faison nous ici bon sang lol mdr

Commentaire de fuckya le 26/09/2004 18:36:39

^_^

Ca fait plaisir au moins comme commentaire :)

Je suis entrain de developper un truc pour calculer un nombre de jours a partir d'un timestamp, ca peut etre sympa :)

Commentaire de fuckya le 26/09/2004 18:40:07

Ah j'oubliais, on peut calculer jours, heures, minutes, secondes ecoulees depuis une date :)

Commentaire de GRenard le 26/09/2004 21:02:26

Good... continue à me blaster... félicitation ! c'est qui le plus enfantin dant tout ca ?
Tiens moi je vais poster une tite source en commentaire afin de ne pas la mettre en source parce que ya déjà plusieurs source qui le font ...
<?php
function trouver_age($naissance) {
$age_personne = date('U') - mktime(0,0,0,substr($naissance,4,2),substr($naissance,6,2),substr($naissance,0,4));
return floor($age_personne/(60*60*24*365.25)*10)/10;
}

echo trouver_age("19751114000000");
?>

Permet de trouver l'age d'une personne avec un timestamp yyyymmddhhiiss seulement 1970 et +

Commentaire de Magidev le 26/09/2004 21:45:34

C.Q.F.D. Lol

Tu devrait écrire tes commentaires en anglais, tu est moins arrogant sur Planet. mdr

Commentaire de GRenard le 26/09/2004 22:08:45

jvais genre 1 fois par 2 mois sur planet... fac genre tas pas rapport ?

Commentaire de garfield90 le 27/09/2004 12:26:57

Juste une chose GRenard, ton 365.25 est erroné mais sinon ton code est ok. N'oublie pas que les années bisextiles ne sont pas tout les 4 ans mais ce sont celles qui sont divisibles par 4, par 400 mais pas par 100.
(exemple 1900 n'était pas bisextile mais 2000 oui)

Commentaire de GRenard le 27/09/2004 13:44:52

Ah ouais c'est vrai... mais pour un floor /10 ca va pas changer grand chose :P surtout apres 1970 ...

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

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,546 sec (4)

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