<html>
<head>
<title>양력/음력 조회</title>
</head>

<body bgcolor=white text=black link=blue vlink=purple alink=red>
<table align=center border=0 cellspacing=0 width=494 bordercolordark=white bordercolorlight=black>
<tr>
<td>
<p><span style=font-size:9pt;><font color=blue>1841년에서 2043년도까지의 양력 및 음력을 검색하실수 있습니다.</font></span></p>
</td>
</tr>
</table>
<form name=calendar method=post action=<?=$PHP_SELF?>>
<table cellpadding=0 cellspacing=0 width=494 align=center>
<tr>
<td width=80>
<?
echo "
<input type=text name=yy maxlength=4 size=6 style='border:1 solid black;color:black;font-size:9pt' value='$yy'><span style=font-size:9pt;>&nbsp;년</span>";
?>
</td>
<td width=60>

<p style=line-height:110%; margin-top:0; margin-bottom:0;><span style=font-size:9pt;><select name=mm size=1 style='border:1 solid black;color:black;font-size:9pt'>
<?
for($i=1;$i<13;$i++) {
if($mm) {
if($mm==$i)
echo "<option value=".$i." selected>".$i."월</option>";
else
echo "<option value=".$i.">".$i."월</option>";
}
else {
echo "<option value=".$i.">".$i."월</option>";
}
}
?>
</select></span></p>
</td>
<td width=80>

<select name=dd size=1 style='border:1 solid black;color:black;font-size:9pt'>
<?
for($i=1;$i<32;$i++) {
if($dd) {
if($dd==$i)
echo "<option value=".$i." selected>".$i."일</option>";
else
echo "<option value=".$i.">".$i."일</option>";
}
else {
echo "<option value=".$i.">".$i."일</option>";
}
}
?>
</select>
</td>
<td width=80>
<select name=check_sl size=1 style='border:1 solid black;color:black;font-size:9pt'>
<?
if($check_sl == "lun") {
echo "
<option selected value=lun>양력으로&nbsp;&nbsp;</option>
<option value=sol>음력으로&nbsp;&nbsp;</option>
";
}
else {
echo "
<option value=lun>양력으로&nbsp;&nbsp;</option>
<option selected value=sol>음력으로&nbsp;&nbsp;</option>
";
}
?>
</select>
</td>
<td width=80> &nbsp;&nbsp;
<?
if($leapyes == "yoon")
echo "<input checked type=checkbox name=leapyes value=yoon style='border:1 solid black;color:black;font-size:9pt'>";
else
echo "<input type=checkbox name=leapyes value=yoon style='border:1 solid black;color:black;font-size:9pt'>";
?>
<span style=font-size:9pt;>윤달</span></td>
<td width=0 align=right>

<p><input type=submit name=check value=바꾸기 style='border:1 solid black;color:black;font-size:9pt'></p>
</td>
</tr>
</table>
</form>
<script language=JavaScript>
<!--
document.calendar.yy.focus();
-->
</script>
<?

#############################################################
/*
음력 데이터는
작은 달 : 1
큰달 : 2
윤달이 있는 달 - 평달이 작고 윤달도 작으면 : 3
평달이 작고 윤달이 크면: 4
평달이 크고 윤달이 작으면 : 5
평달과 윤달이 모두 크면: 6
*/
#############################################################
$kk = array (
//1841년 ~ 1900년
1,2,4,1,1,2,1,2,1,2,2,1, 2,2,1,2,1,1,2,1,2,1,2,1, 2,2,2,1,2,1,4,1,2,1,2,1, 2,2,1,2,1,2,1,2,1,2,1,2, 1,2,1,2,2,1,2,1,2,1,2,1,
2,1,2,1,5,2,1,2,2,1,2,1, 2,1,1,2,1,2,1,2,2,2,1,2, 1,2,1,1,2,1,2,1,2,2,2,1, 2,1,2,3,2,1,2,1,2,1,2,2, 2,1,2,1,1,2,1,1,2,2,1,2,
2,2,1,2,1,1,2,1,2,1,5,2, 2,1,2,2,1,1,2,1,2,1,1,2, 2,1,2,2,1,2,1,2,1,2,1,2, 1,2,1,2,1,2,5,2,1,2,1,2, 1,1,2,1,2,2,1,2,2,1,2,1,
2,1,1,2,1,2,1,2,2,2,1,2, 1,2,1,1,5,2,1,2,1,2,2,2, 1,2,1,1,2,1,1,2,2,1,2,2, 2,1,2,1,1,2,1,1,2,1,2,2, 2,1,6,1,1,2,1,1,2,1,2,2,
1,2,2,1,2,1,2,1,2,1,1,2, 2,1,2,1,2,2,1,2,2,3,1,2, 1,2,2,1,2,1,2,2,1,2,1,2, 1,1,2,1,2,1,2,2,1,2,2,1, 2,1,1,2,4,1,2,2,1,2,2,1,
2,1,1,2,1,1,2,2,1,2,2,2, 1,2,1,1,2,1,1,2,1,2,2,2, 1,2,2,3,2,1,1,2,1,2,2,1, 2,2,2,1,1,2,1,1,2,1,2,1, 2,2,2,1,2,1,2,1,1,5,2,1,
2,2,1,2,2,1,2,1,2,1,1,2, 1,2,1,2,2,1,2,1,2,2,1,2, 1,1,2,1,2,4,2,1,2,2,1,2, 1,1,2,1,2,1,2,1,2,2,2,1, 2,1,1,2,1,1,2,1,2,2,2,1,
2,2,1,1,5,1,2,1,2,2,1,2, 2,2,1,1,2,1,1,2,1,2,1,2, 2,2,1,2,1,2,1,1,2,1,2,1, 2,2,4,2,1,2,1,1,2,1,2,1, 2,1,2,2,1,2,2,1,2,1,1,2,
1,2,1,2,1,2,5,2,2,1,2,1, 1,2,1,2,1,2,1,2,2,1,2,2, 1,1,2,1,1,2,1,2,2,2,1,2, 2,1,1,2,3,2,1,2,2,1,2,2, 2,1,1,2,1,1,2,1,2,1,2,2,
2,1,2,1,2,1,1,2,1,2,1,2, 2,2,1,5,2,1,1,2,1,2,1,2, 2,1,2,2,1,2,1,1,2,1,2,1, 2,1,2,2,1,2,1,2,1,2,1,2, 1,5,2,1,2,2,1,2,1,2,1,2,
1,2,1,2,1,2,1,2,2,1,2,2, 1,1,2,1,1,5,2,2,1,2,2,2, 1,1,2,1,1,2,1,2,1,2,2,2, 1,2,1,2,1,1,2,1,2,1,2,2, 2,1,2,1,5,1,2,1,2,1,2,1,
2,2,2,1,2,1,1,2,1,2,1,2, 1,2,2,1,2,1,2,1,2,1,2,1, 2,1,5,2,2,1,2,1,2,1,2,1, 2,1,2,1,2,1,2,2,1,2,1,2, 1,2,1,1,2,1,2,5,2,2,1,2,

//1901년 ~ 2000년
1,2,1,1,2,1,2,1,2,2,2,1, 2,1,2,1,1,2,1,2,1,2,2,2, 1,2,1,2,3,2,1,1,2,2,1,2, 2,2,1,2,1,1,2,1,1,2,2,1, 2,2,1,2,2,1,1,2,1,2,1,2,
1,2,2,4,1,2,1,2,1,2,1,2, 1,2,1,2,1,2,2,1,2,1,2,1, 2,1,1,2,2,1,2,1,2,2,1,2, 1,5,1,2,1,2,1,2,2,2,1,2, 1,2,1,1,2,1,2,1,2,2,2,1,
2,1,2,1,1,5,1,2,2,1,2,2, 2,1,2,1,1,2,1,1,2,2,1,2, 2,2,1,2,1,1,2,1,1,2,1,2, 2,2,1,2,5,1,2,1,2,1,1,2, 2,1,2,2,1,2,1,2,1,2,1,2,
1,2,1,2,1,2,2,1,2,1,2,1, 2,3,2,1,2,2,1,2,2,1,2,1, 2,1,1,2,1,2,1,2,2,2,1,2, 1,2,1,1,2,1,5,2,2,1,2,2, 1,2,1,1,2,1,1,2,2,1,2,2,
2,1,2,1,1,2,1,1,2,1,2,2, 2,1,2,2,3,2,1,1,2,1,2,2, 1,2,2,1,2,1,2,1,2,1,1,2, 2,1,2,1,2,2,1,2,1,2,1,1, 2,1,2,5,2,1,2,2,1,2,1,2,
1,1,2,1,2,1,2,2,1,2,2,1, 2,1,1,2,1,2,1,2,2,1,2,2, 1,5,1,2,1,1,2,2,1,2,2,2, 1,2,1,1,2,1,1,2,1,2,2,2, 1,2,2,1,1,5,1,2,1,2,2,1,
2,2,2,1,1,2,1,1,2,1,2,1, 2,2,2,1,2,1,2,1,1,2,1,2, 1,2,2,1,6,1,2,1,2,1,1,2, 1,2,1,2,2,1,2,2,1,2,1,2, 1,1,2,1,2,1,2,2,1,2,2,1,
2,1,4,1,2,1,2,1,2,2,2,1, 2,1,1,2,1,1,2,1,2,2,2,1, 2,2,1,1,2,1,4,1,2,2,1,2, 2,2,1,1,2,1,1,2,1,2,1,2, 2,2,1,2,1,2,1,1,2,1,2,1,
2,2,1,2,2,4,1,1,2,1,2,1, 2,1,2,2,1,2,2,1,2,1,1,2, 1,2,1,2,1,2,2,1,2,2,1,2, 1,1,2,4,1,2,1,2,2,1,2,2, 1,1,2,1,1,2,1,2,2,2,1,2,
2,1,1,2,1,1,2,1,2,2,1,2, 2,5,1,2,1,1,2,1,2,1,2,2, 2,1,2,1,2,1,1,2,1,2,1,2, 2,2,1,2,1,2,3,2,1,2,1,2, 2,1,2,2,1,2,1,1,2,1,2,1,
2,1,2,2,1,2,1,2,1,2,1,2, 1,2,1,2,4,2,1,2,1,2,1,2, 1,2,1,1,2,2,1,2,2,1,2,2, 1,1,2,1,1,2,1,2,2,1,2,2, 2,1,4,1,1,2,1,2,1,2,2,2,
1,2,1,2,1,1,2,1,2,1,2,2, 2,1,2,1,2,1,1,5,2,1,2,2, 1,2,2,1,2,1,1,2,1,2,1,2, 1,2,2,1,2,1,2,1,2,1,2,1, 2,1,2,1,2,5,2,1,2,1,2,1,
2,1,2,1,2,1,2,2,1,2,1,2, 1,2,1,1,2,1,2,2,1,2,2,1, 2,1,2,3,2,1,2,1,2,2,2,1, 2,1,2,1,1,2,1,2,1,2,2,2, 1,2,1,2,1,1,2,1,1,2,2,1,
2,2,5,2,1,1,2,1,1,2,2,1, 2,2,1,2,2,1,1,2,1,2,1,2, 1,2,2,1,2,1,5,2,1,2,1,2, 1,2,1,2,1,2,2,1,2,1,2,1, 2,1,1,2,2,1,2,1,2,2,1,2,
1,2,1,1,5,2,1,2,2,2,1,2, 1,2,1,1,2,1,2,1,2,2,2,1, 2,1,2,1,1,2,1,1,2,2,2,1, 2,2,1,5,1,2,1,1,2,2,1,2, 2,2,1,2,1,1,2,1,1,2,1,2,
2,2,1,2,1,2,1,5,2,1,1,2, 2,1,2,2,1,2,1,2,1,2,1,1, 2,2,1,2,1,2,2,1,2,1,2,1, 2,1,1,2,1,6,1,2,2,1,2,1, 2,1,1,2,1,2,1,2,2,1,2,2,
1,2,1,1,2,1,1,2,2,1,2,2, 2,1,2,3,2,1,1,2,2,1,2,2, 2,1,2,1,1,2,1,1,2,1,2,2, 2,1,2,2,1,1,2,1,1,5,2,2, 1,2,2,1,2,1,2,1,1,2,1,2,
1,2,2,1,2,2,1,2,1,2,1,1, 2,1,2,2,1,5,2,2,1,2,1,2, 1,1,2,1,2,1,2,2,1,2,2,1, 2,1,1,2,1,2,1,2,2,1,2,2, 1,2,1,1,5,1,2,1,2,2,2,2,
1,2,1,1,2,1,1,2,1,2,2,2, 1,2,2,1,1,2,1,1,2,1,2,2, 1,2,5,2,1,2,1,1,2,1,2,1, 2,2,2,1,2,1,2,1,1,2,1,2, 1,2,2,1,2,2,1,5,2,1,1,2,
1,2,1,2,2,1,2,1,2,2,1,2, 1,1,2,1,2,1,2,2,1,2,2,1, 2,1,1,2,3,2,2,1,2,2,2,1, 2,1,1,2,1,1,2,1,2,2,2,1, 2,2,1,1,2,1,1,2,1,2,2,1,

//2001년 ~ 2043년
2,2,2,3,2,1,1,2,1,2,1,2, 2,2,1,2,1,2,1,1,2,1,2,1, 2,2,1,2,2,1,2,1,1,2,1,2, 1,5,2,2,1,2,1,2,2,1,1,2, 1,2,1,2,1,2,2,1,2,2,1,1,
2,1,2,1,2,1,5,2,2,1,2,2, 1,1,2,1,1,2,1,2,2,2,1,2, 2,1,1,2,1,1,2,1,2,2,1,2, 2,2,1,1,5,1,2,1,2,1,2,2, 2,1,2,1,2,1,1,2,1,2,1,2,
2,1,2,2,1,2,1,1,2,1,2,1, 2,1,6,2,1,2,1,1,2,1,2,1, 2,1,2,2,1,2,1,2,1,2,1,2, 1,2,1,2,1,2,1,2,5,2,1,2, 1,2,1,1,2,1,2,2,2,1,2,2,
1,1,2,1,1,2,1,2,2,1,2,2, 2,1,1,2,3,2,1,2,1,2,2,2, 1,2,1,2,1,1,2,1,2,1,2,2, 2,1,2,1,2,1,1,2,1,2,1,2, 2,1,2,5,2,1,1,2,1,2,1,2,
1,2,2,1,2,1,2,1,2,1,2,1, 2,1,2,1,2,2,1,2,1,2,1,2, 1,5,2,1,2,1,2,2,1,2,1,2, 1,2,1,1,2,1,2,2,1,2,2,1, 2,1,2,1,1,5,2,1,2,2,2,1,
2,1,2,1,1,2,1,2,1,2,2,2, 1,2,1,2,1,1,2,1,1,2,2,2, 1,2,2,1,5,1,2,1,1,2,2,1, 2,2,1,2,2,1,1,2,1,1,2,2, 1,2,1,2,2,1,2,1,2,1,2,1,
2,1,5,2,1,2,2,1,2,1,2,1, 2,1,1,2,1,2,2,1,2,2,1,2, 1,2,1,1,2,1,5,2,2,2,1,2, 1,2,1,1,2,1,2,1,2,2,2,1, 2,1,2,1,1,2,1,1,2,2,1,2,
2,2,1,2,1,4,1,1,2,1,2,2, 2,2,1,2,1,1,2,1,1,2,1,2, 2,2,1,2,1,2,1,2,1,1,2,1, 2,2,1,2,5,2,1,2,1,2,1,1, 2,1,2,2,1,2,2,1,2,1,2,1,
2,1,1,2,1,2,2,1,2,2,1,2, 1,5,1,2,1,2,1,2,2,2,1,2, 1,2,1,1,2,1,1,2,2,1,2,2);


###################################################
/*
$sy/ly : 년
$sm/lm : 월
$sd/ld : 일
$leapyes: 윤달
*/
###################################################

$gan = array("갑","을","병","정","무","기","경","신","임","계");
$hgan = array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");
$jee = array("자","축","인","묘","진","사","오","미","신","유","술","해");
$hjee = array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");
$ddi = array("쥐","소","호랑이","토끼","용","뱀","말","양","원숭이","닭","개","돼지");

$md = array(31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
$week = array("일","월","화","수","목","금","토");

if($check_sl == "sol") {
$sy=$yy;
$sm=$mm;
$sd=$dd;
list($ly, $lm, $ld, $k1, $k2, $i, $j, $w, $yoon) = sol2lun($sy, $sm, $sd);
$sy_add = $sy + 2333;
echo ("
<table align=center border=1 cellspacing=0 width=494 bordercolordark=white bordercolorlight=black cellpadding=3>
<tr>
<td width=964 height=5>
");
if($ly <= 2043 && $ly >= 1841) {
echo ("
<p style='line-height:703%; margin-top:0; margin-bottom:0;'><span style=font-size:9pt;>".$ly."년 ".$gan[$k1].$jee[$k2]."(".$hgan[$k1].$hjee[$k2].")년 ".$ddi[$k2]."해 ".$lm."월 ".$ld."일 [".$hgan[$i].$hjee[$j]."] ".$week[$w]."요일 ".$yoon."단기 ".$sy_add."년</span></p>");
}
echo ("
</td>
</tr>
</table>
");
}
else {
$ly=$yy;
$lm=$mm;
$ld=$dd;
list($sy, $sm, $sd, $k1, $k2, $i, $j, $w, $yoon) = lun2sol($ly, $lm, $ld, $leapyes);
$sy_add = $sy + 2333;
echo ("
<table align=center border=1 cellspacing=0 width=494 bordercolordark=white bordercolorlight=black cellpadding=3>
<tr>
<td width=494 height=5>");
if($ly <= 2043 && $ly >= 1841) {
echo ("<p style='line-height:103%; margin-top:0; margin-bottom:0;'><span style=font-size:9pt;>".$sy."년 ".$gan[$k1].$jee[$k2]."(".$hgan[$k1].$hjee[$k2].")년 ".$ddi[$k2]."해 ".$sm."월 ".$sd."일 [".$hgan[$i].$hjee[$j]."] ".$week[$w]."요일 ".$yoon."서기 ".$sy_add."년</span></p>");
}
else {
echo ("
<p style='line-height:103%; margin-top:0; margin-bottom:0;'><span style=font-size:9pt;>2043년 초과 및 1841년 미만의 정보는 표시할수 없습니다.</span></p>");
}
echo ("
</td>
</tr>
</table>
");
}

function febdays($sy) {
if(($sy%100 != 0 && $sy%4 ==0) || $sy%400 ==0) $md[1] = 29;
else $md[1] = 28;
return array($md[1]);
}

function alltd($sy) {
global $md;
$td = 0;
for($i=1841;$i<=$sy-1;$i++) {
list($md[1]) = febdays($i);
for($j=0;$j<12;$j++) {
$td += $md[$j];
$ttd[$i][12] += $md[$j];
}
}
$td -= 22;
return array($td);
}

function sol2lun($sy, $sm, $sd) {
global $kk;
global $md;

list($td) = alltd($sy);
list($md[1]) = febdays($sy);
for($i=0;$i<$sm-1;$i++) $td += $md[$i];
$td += $sd;
$i = 0;
$temptd = $td;
while($temptd>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;
$k1 = ($ly+6) % 10;
$k2 = ($ly+8) % 12;
$i = ($td+2) % 10;
$j = ($td+10) % 12;
$w = ($td+5) % 7;
return array($ly, $lm, $ld, $k1, $k2, $i, $j, $w, $yoon);
}

function lun2sol($ly, $lm, $ld, $leapyes) {
global $kk;
global $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) {
list($md[1]) = febdays($tempsy);
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;
$k1 = ($ly+6) % 10;
$k2 = ($ly+8) % 12;
$i = $td % 10;
$j = $td % 12;
$w = ($td+4) % 7;

return array($sy, $sm, $sd, $k1, $k2, $i, $j, $w, $yoon);
}
?>
</body>
</html>