Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Problema su funkcija

Parašė AgS· 2010 Rugp. 20 16:08:19
#1

Sveiki, turiu tokia problemą. Man reikia, kad pagal gimimo datą atvaizduotų kiek žmogui yra metų. Turiu tokią funkciją:
  //calculate years of age (input string: YYYY-MM-DD)
  function birthday ($birthday){
    list($year,$month,$day) = explode("-",$birthday);
    $year_diff  = date("Y") - $year;
    $month_diff = date("m") - $month;
    $day_diff   = date("d") - $day;
    if ($day_diff < 0 || $month_diff < 0)
      $year_diff--;
    return $year_diff;
  }




Problema ta, kad žmogaus metus skaičiuoja tik pagal metus, o ne pagal mėnesį ir dieną. T.y. jei nustačiau, kad gimiau 1991-08-01 tai rodys, kad man 18 metų (nors iš tikro turi būti 19). Gal žinot kaip išspręsti šitą bėdą?