/** * Returns age by horoscope info. * * @param int $year Year * @param int $sign Sign * @return int|array Age */ public static function ageByHoroscope($year, $sign) { App::uses('ZodiacLib', 'Tools.Misc'); $Zodiac = new ZodiacLib(); $range = $Zodiac->getRange($sign); if ($sign == ZodiacLib::SIGN_CAPRICORN) { // undefined return [date('Y') - $year - 1, date('Y') - $year]; } if ($range[0][0] > date('m') || $range[0][0] == date('m') && $range[0][1] > date('d')) { // not over return date('Y') - $year - 1; } if ($range[1][0] < date('m') || $range[1][0] == date('m') && $range[1][1] <= date('d')) { // over return date('Y') - $year; } return [date('Y') - $year - 1, date('Y') - $year]; }
/** * 2011-11-22 lb */ public function ageByHoroscope($year, $sign) { App::uses('ZodiacLib', 'Tools.Misc'); $Zodiac = new ZodiacLib(); $range = $Zodiac->getRange($sign); // undefined if ($sign == ZodiacLib::SIGN_CAPRICORN) { return array(date('Y') - $year - 1, date('Y') - $year); } elseif ($range[0][0] > date('m') || $range[0][0] == date('m') && $range[0][1] > date('d')) { return date('Y') - $year - 1; } elseif ($range[1][0] < date('m') || $range[1][0] == date('m') && $range[1][1] <= date('d')) { return date('Y') - $year; } else { return array(date('Y') - $year - 1, date('Y') - $year); } }