학교 다닐때 과제로 했던 날짜, 기간 구하는 프로그램..;
달력을 만들어봐서 간단할 줄 알았는데 그당시 나름 고생했던 기억이 나는군요 -_-;;
지금 또다시 테스트를 해보니 오류도 좀 있고 ㅎ;;
<!--
#### 날짜 기간 구하는 Program..
#### Renz
// 스타일 시트
-->
<style>
BODY,TD,SELECT,input,DIV,form,TEXTAREA,center,option,pre,blockquote {font-size:9pt; font-family:굴림; line-height:130%}
</style>
<script>
<!--
// 월을 선택시 onchange로 함수전달하여 다시 페이지를 읽어 새로운 maxday 값을 구한다..
function showDay()
{
var s_year = document.all.s_year;
var s_mon = document.all.s_mon;
var s_day = document.all.s_day;
var e_year = document.all.e_year;
var e_mon = document.all.e_mon;
var e_day = document.all.e_day;
window.location.href = './calendar-3.php?s_year=' + s_year.value + '&s_mon=' + s_mon.value + '&s_day=' + s_day.value + '&e_year=' + e_year.value + '&e_mon=' + e_mon.value + '&e_day=' + e_day.value;
}
-->
</script>
<?php
$today = getdate();
// 넘겨받은 값이 없을시 오늘로...
if(!$s_year)
{
$s_year = $today[year];
$s_mon = $today[mon];
$s_day = $today[mday];
}
if(!$e_year)
{
$e_year = $today[year];
$e_mon = $today[mon];
$e_day = $today[mday];
}
// 1주일전 부터 오늘까지..
if($action == rstWeek)
{
// 오늘날짜가 7보다 작을때..
if($today[mday] <= 7)
{
// 이번달이 1월일때..
if($today[mon] = 1)
{
$s_year = $today[year] - 1;
$s_mon = 12;
}
else
{
$s_mon = $today[mon] - 1;
}
$maxday = mktime(0,0,0,$s_mon,$s_day,$s_year);
$pmon_maxday = date(t, $maxday);
$s_day = ($today[mday] + $pmon_maxday) - 7;
}
else
{
$s_day = $today[mday] - 7;
}
}
// 1개월전 부터 오늘까지..
elseif($action == rstMon)
{
// 이번달이 1월일때..
if($today[mon] == 1)
{
$s_year = $today[year] - 1;
$s_mon = 12;
}
else
{
$s_mon = $today[mon] - 1;
}
}
// 1년전 부터 오늘까지..
elseif($action == rstYear)
{
$s_year = $s_year - 1;
}
$start = mktime(0,0,0,$s_mon,$s_day,$s_year); //시작 날짜의 시간을 초단위로..
$end = mktime(0,0,0,$e_mon,$e_day,$e_year); //끝 날짜의 시간을 초단위로..
$result = $end - $start; //끝 시간에서 시작 시간을 빼기..
$result = $result/86400; // 초단위를 날짜로 환산.. 24시간 * 60분 * 60초 = 86400초.. ㅋㅋ
$s_maxday = date(t, $start); // 시작월 일수
$e_maxday = date(t, $end); // 끝월 일수
// 시작 날짜...
?>
<form>
<table border=0 align="center" width=500>
<tr height=30>
<td width="20%" bgcolor="#BADCDC" align="center">
시작날짜
</td>
<td bgcolor="#EBF5F5" align="center">
<SELECT NAME='s_year'>
<?
// 콤보박스에 1980~2030년 출력...
for($year=1980; $year<=2030; $year++)
{
if($year == $s_year){echo "<option value = '$year' selected>".$year."</option>";}
else {echo "<option value = '$year'>".$year."</option>";}
}
?>
</SELECT> 년
<SELECT NAME='s_mon' onchange='showDay()'>
<?
// 콤보박스에 1~12월 출력...
for($mon=1; $mon<=12; $mon++)
{
if($mon == $s_mon){echo "<option value = '$mon' selected>".$mon."</option>";}
else {echo "<option value = '$mon'>".$mon."</option>";}
}
?>
</SELECT> 월
<SELECT NAME='s_day'>
<?
// 콤보박스에 날짜 출력...
for($day=1; $day<=$s_maxday; $day++)
{
if($day == $s_day){echo "<option value = '$day' selected>".$day."</option>";}
else {echo "<option value = '$day'>".$day."</option>";}
}
// 끝나는 날짜...
?>
</SELECT> 일
</td>
<td width="20%" bgcolor="#BADCDC" align="center">계산하기</td>
</tr>
<tr height=30>
<td bgcolor="#BADCDC" align="center"> 끝 날짜 </td>
<td bgcolor="#EBF5F5" align="center">
<SELECT NAME='e_year'>
<?
// 콤보박스에 1980~2030년 출력...
for($year=1980; $year<=2030; $year++)
{
if($year == $e_year){echo "<option value = '$year' selected>".$year."</option>";}
else {echo "<option value = '$year'>".$year."</option>";}
}
?>
</SELECT> 년
<SELECT NAME='e_mon' onchange='showDay()'>
<?
// 콤보박스에 1~12월 출력...
for($mon=1; $mon<=12; $mon++)
{
if($mon == $e_mon){echo "<option value = '$mon' selected>".$mon."</option>";}
else {echo "<option value = '$mon'>".$mon."</option>";}
}
?>
</SELECT> 월
<SELECT NAME='e_day'>
<?
// 콤보박스에 날짜 출력...
for($day=1; $day<=$e_maxday; $day++)
{
if($day == $e_day){echo "<option value = '$day' selected>".$day."</option>";}
else {echo "<option value = '$day'>".$day."</option>";}
}
?>
</SELECT> 일
</td>
<td bgcolor="#EBF5F5" align="center">
<input type="hidden" name="action" value="rstDay">
<input type="submit" value='Click!!'>
</td></tr>
<tr height=60><td colspan=3 bgcolor="#EBF5F5" align="center">
<?
if($action == 'rstDay')
{
echo "<b>".$s_year."년 ".$s_mon."월 ".$s_day."일</b> 부터<b> ";
echo $e_year."년 ".$e_mon."월 ".$e_day."일</b> 까지";
echo "<font color=#FF0000><b> ".$result."일</b></font>간 입니다";
}
else
{
echo " ";
}
?>
</td>
</tr>
<tr height=50><td colspan=3></td></tr>
<tr height=30>
<td bgcolor="#BADCDC" align="center">
기간선택
</td>
<td colspan=2 align="center" valign="center" bgcolor="#EBF5F5">
<b>오늘부터
<input type=button value='1주일전' onclick=\"location='$PHP_SELF?action=rstWeek'\">
<input type=button value='1개월전' onclick=\"location='$PHP_SELF?action=rstMon'\">
<input type=button value='1년전' onclick=\"location='$PHP_SELF?action=rstYear'\">
</b>
</td>
</tr>
<tr height=60>
<td colspan=3 bgcolor=#EBF5F5 align=center>
<?
if($action == 'rstWeek')
{
echo "<b>오늘</b>부터 <b>1주일전</b>은<b> ";
echo $s_year."년 ".$s_mon."월 ".$s_day."일</b>입니다<br>";
echo "<b>기간</b>은 <font color=#FF0000><b> ".$result."일</b></font>간 입니다";
}
elseif($action == 'rstMon')
{
echo "<b>오늘</b>부터 <b>1개월전</b>은<b> ";
echo $s_year."년 ".$s_mon."월 ".$s_day."일</b>입니다<br>";
echo "<b>기간</b>은 <font color=#FF0000><b> ".$result."일</b></font>간 입니다";
}
elseif($action == 'rstYear')
{
echo "<b>오늘</b>부터 <b>1년전</b>은<b> ";
echo $s_year."년 ".$s_mon."월 ".$s_day."일</b>입니다<br>";
echo "<b>기간</b>은 <font color=#FF0000><b> ".$result."일</b></font>간 입니다";
}
?>
</td></tr>
</table>
</form>
[출처] 웹디황용
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기, 각종 광고, 영업, 판매, 제안서, 전단지 반응율 3배×10배 이상 높이는 마법의 8단계 공식" |
☞자세히보기 |
|
|