solar - 24 절기 solar object - sun position or 24 solar terms PHP/8.0.22
소스닫기 | 24절기 계산 | 음양력변환, 일출몰, 월출몰, 별자리, 일월식 계산 | 메시에 관측정보(실시간) | 메시에 관측정보(오늘전체) | deltaT 계산 | 부활절 날짜 계산
<?php
require_once '_lib/class.calendar.php';
require_once '_lib/class.astro.php';
require_once '_lib/class.meeus.php';
require_once '_lib/class.de405.php';
DE405::set_datadir($_SERVER['DOCUMENT_ROOT'].'/_lib');
$_self = $_SERVER['SCRIPT_NAME']; //basename($_SERVER['SCRIPT_NAME']);
$title = 'solar - 24 절기 solar object - sun position or 24 solar terms';
$phpv = 'PHP/'.PHP_VERSION;
echo <<<___END
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>$title</TITLE><P><H2>$title $phpv</H2>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<SCRIPT LANGUAGE="JavaScript" type="text/JavaScript">
<!--
var starttime = (new Date()).getTime();
//-->
</SCRIPT>
<STYLE TYPE="text/css">
<!--
* { font-family:NanumGothic,'나눔고딕','Malgun Gothic',Dotum,'돋움',Gulim,'굴림',Helvetica,Apple-Gothic; }
body { font-size:10pt; }
input { background-color:#ffffff; border:solid 1px #4f7292; margin:0 0 0 0; height:30px; }
.code {
/* display: block | table-cell | inline-table; */
display: table-cell; vertical-align: middle;
padding: 10px;
margin: 10px 5px 20px 5px; /* 상, 우, 하, 좌 */ /* 바깥쪽 여백임 */
background: #eeeeee;
border-radius: 0.5em / 0.5em;
font-family: Dotumche,monospace; white-space: pre;
width:800px; }
.pre-fontspace { font-family:Dotumche,Helvetica,monospace; white-space: pre; }
.pre-font { font-family:Dotumche,Helvetica,monospace; }
.pre-space { white-space: pre; }
.solidbox {
display: table-cell; vertical-align: middle;
padding: 10px;
margin: 10px 5px 20px 5px; /* 상, 우, 하, 좌 */ /* 바깥쪽 여백임 */
background: #eeeeee;
border-radius: 0.5em / 0.5em; } /* 모서리 둥글게 */
//-->
</STYLE>
</HEAD>
<BODY>\n
___END;
$_menuindex = array
(
'solar.php' => '24절기 계산',
'lunar.php' => '음양력변환, 일출몰, 월출몰, 별자리, 일월식 계산',
'messier.php' => '메시에 관측정보(실시간)',
'messier.today.php' => '메시에 관측정보(오늘전체)',
'deltat.php' => 'deltaT 계산',
'easter.php' => '부활절 날짜 계산'
);
$menu = '';
foreach($_menuindex AS $k=>$v) $menu .= " | <A HREF='$k'>$v</A>";
if(isset($_GET['view']))
{
echo '<A HREF="'.$_self.'">소스닫기</A>'.$menu.'<HR>'."\n";
highlight_file(basename($_self));
return;
}
if(isset($_POST['_p']))
{
$_p = $_POST['_p'];
$JD = calendar::getjd($_p['y'],$_p['m'],$_p['d'],$_p['h'],$_p['i'],$_p['s']);
}
else
{
list($JD,$_p['y'],$_p['m'],$_p['d'],$_p['h'],$_p['i'],$_p['s']) = calendar::curr_datetime();
}
echo '<A HREF="'.$_self.'?view=1">소스보기</A>'.$menu.'<HR>'."\n";
echo <<<___END
<H2>데모 - 24절기와 태양의 위치(Geocentric)</H2>
<div class="solidbox pre-font" style="height:30px;"><B>- 유효기간:</B> 1902.01.01 00:00:00 ~ 2037.12.31 23:59:59</div>
<p>
<FORM METHOD=post>
<div class="solidbox pre-space" style="width:800px;"
>년월일-시분초: <INPUT TYPE=text NAME='_p[y]' VALUE='$_p[y]' SIZE=5 MAXLENGTH=5
>년 <INPUT TYPE=text NAME='_p[m]' VALUE='$_p[m]' SIZE=2 MAXLENGTH=2
>월 <INPUT TYPE=text NAME='_p[d]' VALUE='$_p[d]' SIZE=2 MAXLENGTH=2
>일 - <INPUT TYPE=text NAME='_p[h]' VALUE='$_p[h]' SIZE=2 MAXLENGTH=2
>시 <INPUT TYPE=text NAME='_p[i]' VALUE='$_p[i]' SIZE=2 MAXLENGTH=2
>분 <INPUT TYPE=text NAME='_p[s]' VALUE='$_p[s]' SIZE=2 MAXLENGTH=2
>초<BR>
<INPUT TYPE=submit VALUE=' 다시 계산하기 '
> <INPUT TYPE=button VALUE=' 초기화 ' OnClick='location.href="$_self"'>
</div>
</FORM>
___END;
//$JD = calendar::getjd($_p['y'],$_p['m'],$_p['d']);
$stoday = solar24_today($JD);
$tmoon = solar24($JD,1,0);
$sun = sun($JD);
$sambok = sambok($JD);
$tterms = solar24(calendar::jd2jdy0($JD),12,0);
echo '<p>';
echo '<div class=code>';
echo '<b>'.$_p['y'].'년</b><p>'."\n";
echo '<b>'.$_p['y'].'-'.$_p['m'].'-'.$_p['d'].'(기준)</b>: '.astro::vto($stoday,'-').'<P>'."\n";
print_r($sambok);
echo "\n\n";
echo '<b>이번달:</b> '.$_p['y'].'년 '.$_p['m'].'월'."\n";
print_r($tmoon);
echo "</div>\n";
echo "<p>\n";
echo '<div class=code>'."\n";
echo '<b>현재시각의 태양의 위치:</b>'."\n";
print_r($sun);
echo "</div>\n";
echo "<p>\n";
echo '<div class=code>'."\n";
echo "<b>".$_p['y']."년도 24절기:</b>\n";
print_r($tterms);
echo "</div>\n";
echo "</BODY>\n</HTML>";
return;
?>
Page loading: 0.00(server) + (network) + (browser) seconds