if ($this->InterMonth != 13 and $this->InterMonth < $LMonth) { $day = $day + $this->InterMonthDays; } for ($i = 1; $i <= 12; $i++) { $day = $day - $this->SMDay[$i]; if ($day <= 0) { break; } } if ($day > 0) { $SYear = $SYear + 1; if ($this->isLeapYear($SYear)) { $this->SMDay[2] = 29; } for ($i = 1; $i <= 12; $i++) { $day = $day - $this->SMDay[$i]; if ($day <= 0) { break; } } } $day = $day + $this->SMDay[$i]; $SMonth = $i; $SDay = $day; $SolarArray = array('Y' => $SYear, 'M' => $SMonth, 'D' => $SDay); return $SolarArray; } } $lunar = new Lunar(); $result = $lunar->Solar2Lunar("2009", "7", "22"); print_r($result);