Souci pour une date de naissance

Fermé
Utilisateur anonyme - 6 sept. 2008 à 00:48
 Utilisateur anonyme - 8 sept. 2008 à 13:41
Bonjour,

j'entrain faire une fonction pour une date a partire d'une date d'anniversaire car mon frére il y as un enfant donc je voudrai lui mettre un code pour savoir l'age et le mois qu'il as dépuis sa date d'anniversaire

donc voilà que j'aimerais faire

si on prend un exemple

il est née le 1 janvier 2008

on est le 6 septembre 2008

donc l'enfant il y as 9 mois et 6 jours

mais dans mon code il met 8 mois

car il faut un code pour qu'il sache que des mois se termine 30 jour où 31 jours et pour le mois de février il faut lui dire 28 jour où 29 jour

es ce quelqu'un pourrais m'aidé à faire cette fonction des jours

donc voilà le code que j'ai fais

<?php
$vieux_timestamp = mktime(0, 0, 0, 1, 1, 2008);
 //Heure : minutes : seconde : mois : jour : année
$timestamp_now = time();
$diff_timestamp = $timestamp_now - $vieux_timestamp;
?>
<p>
il est né le 
 <?php echo date('d/m/Y', $vieux_timestamp); ?>
<br />
il y as  
<?php
 
$nbrSecondes = $diff_timestamp;
 
$nbrSecParJour = 3600*24;
$nbrSecParAn = $nbrSecParJour*366.25;
$nbrSecParMois = $nbrSecParJour*31;
 
$nbrAnnees = floor($nbrSecondes / $nbrSecParAn);
$reste = $nbrSecondes % $nbrSecParAn;
 
$nbrMois = floor($reste / $nbrSecParMois);
$reste = $reste % $nbrSecParMois;
 
$nbrSemaines = floor($reste / ($nbrSecParJour*7));
$reste = $reste % ($nbrSecParJour*7);
 
$nbrJours = floor($reste / $nbrSecParJour);
$reste = $reste % $nbrSecParJour;
 
$nbrHeures = floor($reste / 3600);
$reste = $reste % 3600;
 
$nbrMinutes = floor($reste / 60);
$reste = $reste % 60;
 
echo $nbrAnnees . ' année(s), '
. $nbrMois . ' mois, '
. $nbrSemaines . ' semaine(s), '
. $nbrJours . ' jour(s), '
. $nbrHeures . ' heure(s), '
. $nbrMinutes . ' minute(s) et '
. $reste . ' seconde(s).';
?></p>


merci de m'aidé à trouvé le code qui puisse comprendre les nombres jours exactes dépuis une date de naissance

merci de votre aide

5 réponses

elfilou Messages postés 1091 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 13 décembre 2008 183
6 sept. 2008 à 11:17
http://www.oubah.com/scripts/telecharger_ultimate_age_calculator,5950.html--
 ELFILOU
 Si un humain a une grande idée de lui-même, on peut être sûr que c'est la seule grande idée qu'il ait jamais eue dans sa vie. 

                            
                        
1
Utilisateur anonyme
6 sept. 2008 à 12:52
merci j'ai voulu le téléchargé

mais il ne veut pas le téléchargé où il est trés long

merci
1
Utilisateur anonyme
7 sept. 2008 à 02:04
re

j'ai réaissayé de le rtélechargé le script

mais impossible de le téléchargé

merci de ton aide
1
Utilisateur anonyme
7 sept. 2008 à 23:45
re juste pour dire j'ai trouvé un code qui marche trés bien mais je t'en remercie
1
elfilou Messages postés 1091 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 13 décembre 2008 183
8 sept. 2008 à 13:26
ok le principal c'est que ton projet aboutisse !!
ciao
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
8 sept. 2008 à 13:41
mercio pour ta réponse

voilà ceux que ça donne

http://forum.exemple.free.fr/date.php

et je voudrais savoir si je te donne le code es ce que tu pourrais me faire inversé les jours

je m'explique

je veux mettre les mois et le jours qu'il reste avant sa date d'anniverssaire

je sais que c'est possible mais il faut connaitre bien le javasscript pour inversé le code pour dire

par exemple : il reste 10 mois et 20 jours avant son anniverssaire

si tu peux voilà le code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<SCRIPT LANGUAGE="JavaScript">

//valeurs de départ (à modifier)
var cible= new Date("august 04, 2008 00:01:00");

//la date d'aujourd'hui
var date_day = new Date();

//calcul des différences
var annee_diff = date_day.getFullYear() - cible.getFullYear();
var mois_diff = (date_day.getMonth()+1) - (cible.getMonth()+1);
var jour_diff = date_day.getDate() - cible.getDate();
var heure_diff = date_day.getHours() - cible.getHours();
var minute_diff = date_day.getMinutes() - cible.getMinutes();
var seconde_diff = date_day.getSeconds() - cible.getSeconds();

//gestion des valeurs négatives
if (heure_diff < 0)
{ 
  heure_diff +=24;
  jour_diff--;
}
if (jour_diff < 0)
{
  switch(cible.getMonth()+1)
  {
    case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
      jour_diff+=31;
	  break;
	case 2:
	  if (cible.getFullYear()%4)
	  {
	    jour_diff+=29;
	  }
	  else
	  {
	    jour_diff+=28;
	  }
	  break;
	case 4:
	case 6:
	case 9:
	case 11:
	  jour_diff+=30;
	  break
  }
  mois_diff--;
}
if (mois_diff < 0)
{
  mois_diff+=12;
  annee_diff--;
}


function decompte() {

seconde_diff +=1;
if (seconde_diff==60)
{ 
  seconde_diff=0;
  minute_diff +=1;
  if (minute_diff==60)
  {
    heure_diff +=1;
	if (heure_diff==24)
	{
	  jour_diff +=1;
	  if (((jour_diff==28)&&(date_day.getMonth()==2)&&(!date_day.getFullYear()%4))||((jour_diff==29)&&(date_day.getMonth()==2)&&(date_day.getFullYear()%4))||((jour_diff==30)&&((date_day.getMonth()==4)||(date_day.getMonth()==6)||(date_day.getMonth()==9)||(date_day.getMonth()==11)))||((jour_diff==31)&&((date_day.getMonth()==0)||(date_day.getMonth()==1)||(date_day.getMonth()==3)||(date_day.getMonth()==5)||(date_day.getMonth()==7)||(date_day.getMonth()==8)||(date_day.getMonth()==10))))
	  {
	    mois_diff+=1;
	  }
	  if (mois_diff==12)
	  {
	    annee_diff+=1;
	  }
	}
  }
}
// on affecte nos résultats aux champs du formulaire
document.getElementById("annees").innerHTML = annee_diff;
document.getElementById("mois").innerHTML = mois_diff;
document.getElementById("jours").innerHTML = jour_diff;
document.getElementById("heures").innerHTML  = heure_diff;
document.getElementById("minutes").innerHTML  = minute_diff;
document.getElementById("secondes").innerHTML = seconde_diff;

// on relance la fonction pour actualiser à la seconde
setTimeout("decompte()",1000);
}

</SCRIPT></head>

<body>
<body onLoad="decompte()">
Evènement depuis <span id="annees">0</span> 
        ans <span id="mois">0</span> mois <span id="jours">0</span> jours <span id="heures">0</span> 
        heures <span id="minutes">0</span> minutes <span id="secondes">0</span> 
        secondes</body>
</html>


et si tu peux ça seras sympa et aussi comme ça quand il vas arrivé a ses 1 ans on mettras un echo pour dire bonne anniverssaire mais juste pour 24 h aprés la phrase qui est dans l'echo il disparaitra jusqu'a l'année suivante


merci pour ton aide si tu ne sais pas trop le javascript ce n'est pas grave
1