Forum Programmation.php On on pouvais m'expliquer cela, ça serait vraiment sympa .... :)

Posté par  .
Étiquettes : aucune
0
12
déc.
2006
le code est un peu altere(meme en utilisant la balise pre) > = chevron fermé

function isLaterThan($date2)
{
if($this->a==$date2->a)
{
if($this->m==$date2->m)
{
if($this->j==$date2->j)
{
if($this->h==$date2->h)
{
if($this->mn<$date2->mn)
{
//echo "1";
return(false);
}
else
{
return(true);
}
}
else if($this->h<$date2->h)
{
//echo "2";
return(false);
}
else
{
return(true);
}
}
else if($this->j<$date2->j)
{
//echo "3";
return(false);
}
else
{
return(true);
}
}
else if($this->m<$date2->m)
{
//echo "4";
return(false);
}
else
{
return(true);
}
}
else if($this->a<$date2->a)
{
//echo "5";
return(false);
}
else
{
return(true);
}
}
  • # .

    Posté par  . Évalué à 2.

    ca compare chaque champ de ce qui a l'air d'etre une date ( a-m-j h:mn ). Si la date passée en parametre est posterieure à l'objet courant, alors ca retourne true.
    • [^] # Re: .

      Posté par  . Évalué à 1.

      oui effectivement voici la classe et le constructeur mais je trouve cela tres bordelique pas toi ?

      class _date
      {
      var $j;
      var $m;
      var $a;
      var $h;
      var $mn;

      /** CONSTRUCTEUR **/
      function _date($date=0,$j=0,$m=0,$a=0,$h=0,$mn=0)
      {
      if($date==0)
      {
      $this->j=toInt($j);
      $this->m=toInt($m);
      $this->a=toInt($a);
      $this->h=toInt($h);
      $this->mn=toInt($mn);
      }
      else
      {
      $this->a=toInt(substr($date,0,4));
      $this->m=toInt(substr($date,5,2));
      $this->j=toInt(substr($date,8,2));
      $this->h=toInt(substr($date,11,2));
      $this->mn=toInt(substr($date,13,2));
      }
      }
      • [^] # Re: .

        Posté par  . Évalué à 1.

        ben non

        tu decoupe la date qui se trouve sous la forme
        aaaammjj hhmm

        en champs
        a,m,j,h,mn
      • [^] # Re: .

        Posté par  . Évalué à 3.

        C'aurait été sympa de préciser dès le début que la fonction en question faisait partie d'une classe "date", tu ne crois pas ? Et le "oui effectivement", ça me fait presque croire que tu savais déjà à quoi servait cette fonction...

        Je noterais juste en passant que ta classe (ou en tout cas par le bout de code que tu nous montres) ne gère pas les fuseaux horaires, les leap second, l'heure d'été, le 29 février, tout ça... Si tu n'en as pas besoin, tant mieux, sinon, fais attention...
      • [^] # Re: .

        Posté par  . Évalué à 3.

        >oui effectivement voici la classe et le constructeur mais je trouve cela
        >tres bordelique pas toi ?

        non. J'aurai pas ecrit ça comme ça, mais ca reste quand meme lisible ( j'ai pas eu de mal à comprendre ce que ca faisait ( et toi non plus d'ailleurs ) ). Apres, chacun son style. Si ca te plait pas, tu réécris. Mais honnetement, pour maintenir regulierement du code de plus de 10 ans d'age et qui est passé par toute sorte de mains, je peux te dire que si je n'etais jamais confronté à pire que ton exemple, je signerai tout de suite.
  • # et ?

    Posté par  . Évalué à 2.

    lapin compris,
    tu voudrais qu'on expliques ou pas ?
    ou c'etaut juste pour faire remarquer que t'aime pas la maniere de coder du mec qu'a pondu celà ?

    tain, apres les journaux innutile, voici les fausses questions :)
    • [^] # Re: et ?

      Posté par  . Évalué à 1.

      lool non honettement, je voulais qu'on m'explique le style d'ecriture $this->a==$date2->a avec les constructeur et compagnie car j'ai fais ça dans mes etudes mai splus depuis.

      J'ai trouvé un petit tutoriel sympa sur phpfrance.fr (http://www.phpfrance.com/tutoriaux/index.php/2005/03/04/13-i(...) il est tout simple mais de relire les explications m'a remis dans le dorit chemin.
      Cela m'a permis de réécrire un bout de code d'une autre fonction de cette classe....

      Merci à tous et la prochaine fois je serais plus explicite promis !!!
      • [^] # Re: et ?

        Posté par  . Évalué à 2.

        ha ben voilà, libélé ainsi, c'est mieux.
        $this->a c'est la variable membre de la classe ($a)
        $date2->a et l'élément d'un tableau associatif ($date)
  • # Soyons heureux, tapons moins

    Posté par  . Évalué à 2.

    Voila ce que ça pourrait donner en pseudo c/java/machin avec l'opérateur ternaire "?"

    bool Date.islaterthan(d) { return this.y==d.y?this.m==d.m?this.d==d.d?this.h==d.h?this.m<d.m?false:true:this.h<d.h?false:true:this.d<d.d?false:true:this.m<d.m?false:true:this.y<d.y?false:true;}

    BeOS le faisait il y a 20 ans !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.