Afficher la date d'anniversaire de quelqu'un en fonction d'une date (meme avant 1970)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 035 fois - Téléchargée 35 fois

Contenu du snippet

Voici ma petite fonction que j'ai concue lors d'un debat sur une autre source ^^

Ma premiere source, soyez indulgent :)

Source / Exemple :


<?php 
// Attention, $jour, $mois et $annee doivent etre des chiffres !
function AfficheDate ($jour, $mois, $annee)
{
/* On génère une erreur lorsque $jour $mois ou $annee est 
 exprimé en chiffre ou $annee ne contient pas 4 chiffres */

if(!is_numeric($jour) || !is_numeric($mois) || 
!is_numeric($annee) || strlen($annee) != "4")

{
echo "Mauvais format de date détecté<br>";
echo "Jour : $jour<BR>Mois : $mois<BR>Annee : $annee";
return false;
}

// On verifie que $jour et $mois ont deux chiffres (01, 02, 03 ...)
if(strlen($jour) == 1) 
    {
    $jour1 = '0'.$jour;
    }
else {$jour1 = $jour;}

if(strlen($mois) == 1) 
    {
    $mois1 = '0'.$mois;
    }
else {$mois1 = $mois;}

$naissance = $annee.$mois1.$jour1;

$date = floor((date("Ymd")-$naissance)/10000);

if($date > 1) {$ans = " ans";} else {$ans = " an";}

echo $date, $ans;

return true;

}
?>

Conclusion :


Voila je suis ouvert a toute modification :)

A voir également

Ajouter un commentaire

Commentaires

cs_Matthieu26
Messages postés
6
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
9 janvier 2006
-
Dans le cadre d'un projet personnel (un site sur les anniversaires)... voici une fonction sql qui permet de calculer l'age d'un membre enregistré dans votre base :

$jour = date("d");
$mois = date("m");
$annee = date("Y");
$aujourdhui = "$annee-$mois-$jour";
$calculage = " SELECT (YEAR('$aujourdhui')-YEAR(ton_champ_anniversaire)) AS age FROM ta table ";

$calagesql = mysql_query($calage);
list ($age) = mysql_fetch_row($calagesql);
echo "$age";

Sinon bravo pour ta première source... ;)
fuckya
Messages postés
125
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
8 juin 2006
-
Merci :)

Je vais de ce pas poster ma 2eme source d'ailleurs :)
fuckya
Messages postés
125
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
8 juin 2006
-
Cependant ton code ne tient compte que de l'annee, si quelqu'un est né le 12 decembre 1990, il sera compte comme ayant 14 ans :s
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29 -
tu peux aussi metre une fonction qui affiche le jour...

ça pourait être interessant (si tu peux emprinter le mag tangente d'il y a deux mois je crois, celui sur les calculateurs prodiges, tu verras que c'est pas compiqué)

"return FALSE;"

dans ce cas, pe vaut-il mieux faire un return false et un return $chaine_a_afficher
comme ça, tu pourais aussi vérifier la validitée d'une date avec la même fonction...
fuckya
Messages postés
125
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
8 juin 2006
-
Voila un commentaire constructif comme je les aimes ^^

Il faudrait que je mette cette fonction sous forme de classe avec d'autres fonctionnalités mais pour l'instant je suis sur un système de comparateurs benchs :) je posterais bientot

je te mets dans ma liste msn coucou, je voudrais te montrer la source :) puisque anthomicro ne parle pas avec des gens comme moi ...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.