Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [RESOLU] jDateTime::durationTo, nombre de mois / age?

Posted by francois.thareau on 06/22/2009 15:21

Bonjour,

Je développe depuis quelques mois avec Jelix 1.1.2 et j'aurai besoin d'aide :

Je cherche à déterminer avec précision l'age d'une personne, j'ai suivi la documentation :

  $dt = new jDateTime();
  $dt->setFromString("2006-02-10",jDateTime::DB_DFORMAT);
  $dt2 = new jDateTime();
  $dt2->setFromString("2006-04-12",jDateTime::DB_DFORMAT);
  // calcul la durée entre $dt jusqu'à $dt2
  $duration = $dt->durationTo($dt2);
  //echo $duration->months, ' ', $duration->days, ' ', $duration->seconds;
  $rep->content = '<reponse><act003>'.$duration->months. ' '. $duration->days. ' '. $duration->seconds.'</act003></reponse>';

Je désire calculer l'age grâce au nombre de mois de différence mais voici le résultat que j'obtiens :

<reponse><act003>0 0 5266800</act003></reponse>

J'aimerais savoir pourquoi le nombre de mois est vide ? Ou alors comment obtenir la différence en année entre deux dates ?

Cordialement, François

  [Opened] Re: jDateTime::durationTo, nombre de mois ?

Reply #1 Posted by foxmask on 06/22/2009 16:56

bonjour,

on s'est echangé des idées sur un plugin age

si ca peut servir ;)


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] [RESOLU] Re: jDateTime::durationTo, nombre de mois ?

Reply #2 Posted by francois.thareau on 06/23/2009 10:58

J'ai trouvé un autre moyen :

je fais la différence entre les années puis je soustrais 1 si l'anniversaire n'est pas passé :

 $age = $dt_now->year - $dt_naissance->year;
 if ( ($dt_now->month<$dt_naissance->month)|| ($dt_now->month==$dt_naissance->month && $dt_now->day<$dt_naissance->day ))
 {
   $age--;
 }

Cordialement

 
Page
  1. [RESOLU] jDateTime::durationTo, nombre de mois / age?