0) { $yoon = ""; switch ($kk[$i]) { case 1: $mm = 29; break; case 2: $mm = 30; break; case 3: $mm = 29; $ymm = 29; if ($temptd > 29) { $temptd -= 29; $yoon = "*"; } break; case 4: $mm = 29; $ymm = 30; if ($temptd > 30) { $temptd -= 30; $yoon = "*"; } break; case 5: $mm = 30; $ymm = 29; if ($temptd > 29) { $temptd -= 29; $yoon = "*"; } break; case 6: $mm = 30; $ymm = 30; if ($temptd > 30) { $temptd -= 30; $yoon = "*"; } break; } $temptd -= $mm; $i++; if ($i % 12 == 1) $ly += 1; } if ($temptd <= 0) { if ($yoon == "*") $temptd += $ymm; else $temptd += $mm; } $ly += 1840; $lm = $i % 12; if ($lm == 0) $lm = 12; $ld = $temptd; /* output */ $myarray = array( "year" => $ly, "month" => $lm, "day" => $ld, "leap" => $yoon ); return $myarray; } function luntosol($ly, $lm, $ld, $leapyes = "") { global $kk, $md; $temptd = 0; $dm = ($ly - 1841) * 12 + ($lm - 1) - 1; for ($i = $dm; $i >= 0; $i--) { switch ($kk[$i]) { case 1: $temptd += 29; break; case 2: $temptd += 30; break; case 3: $temptd += 58; break; case 4: case 5: $temptd += 59; break; case 6: $temptd += 60; break; } } $dm = ($ly - 1841) * 12 + ($lm) - 1; if ($leapyes == "yoon") { switch ($kk[$dm]) { case 1: case 2: break; case 3: case 4: $temptd += 29; break; case 5: case 6: $temptd += 30; break; } } $temptd += $ld; $temptd += 22; $td = $temptd; $tempsy = 1841; while (1) { $feb_days = febdays($tempsy); $md[1] = $feb_days[0]; for ($tempsm = 0; $tempsm <= 11; $tempsm++) { $temptd -= $md[$tempsm]; if ($temptd <= 0) break; } if ($temptd <= 0) { $temptd += $md[$tempsm]; $tempsd = $temptd; break; } $tempsy++; } $sy = $tempsy; $sm = $tempsm + 1; $sd = $tempsd; /* output */ $myyarray = array( "year" => $sy, "month" => $sm, "day" => $sd ); return $myyarray; }