웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
일년치 달력을 한꺼번에 보자!!!
2005.08.07 14:04
http://myru.cafe24.com/study/calendar.php요즘 다이어리 만든답시고;; 이것 저것 공부하다 한번 만들어봤습니다.
참고로 TheMics님의 강좌를 참조하여 공부 했었습니다....(TheMics님 감사...^^;;)
주석을 옆에 달아놓았고...위쪽에 참고로 적어놓은 시간관련 함수들 보시면 이해가 되실겁니다.
<?/////연도달력?>
<html>
<head>
<style>
body
{scrollbar-face-color: #ffffff;
scrollbar-highlight-color: #336699;
scrollbar-3dlight-color: #ffffff;
scrollbar-shadow-color: #336699;
scrollbar-darkshadow-color: #ffffff;
scrollbar-track-color: #ffffff;
scrollbar-arrow-color: #336699}
body, td, select, input, div, form, textarea, center, option, pre, blockquote{font-size:9pt; font-family:Verdana; color:#666666;}
A:link {color:#336699;text-decoration:none;}
A:visited {color:#336699;text-decoration:none;}
A:active {color:#336699;text-decoration:none;}
A:hover {color:#c0c0c0;text-decoration:none;}
</style></head>
<!--
Y : 네자리 연도, 예) 1999
y : 두자리 연도, 예) 99
z : 해당 연도의 날짜수, 0부터 366까지
m : 월 숫자, 01부터 12까지
n : 월 숫자, 0이 붙지 않음. 1부터 12까지
F : 월 이름, 문자열. January, Febrary 등
t : 주어진 월의 일수 혹은 주어진 달의 마지막 일, 28부터 31까지
d : 일(day), 앞에 0이 붙은 2자리 숫자, 01부터 31까지
j : 앞에 0이 없는 일, 1부터 31까지(d 참고)
D : 요일 이름, 3글자의 영문자. Sun, Mon 등
w : 요일 숫자, 0(일요일) 부터 6(토요일)
-->
<body>
<?
if(!$y) $y = date("Y"); //연도 입력이 없는 경우 올해로
$p_y = $y - 1; //이전해
$n_y = $y + 1; //다음해
$t_m = date("n"); //지금이 몇월인가
$t_y = date("Y"); //지금이 몇년도인가
?>
<table width="640" align="center" style="border-width:1; border-color:#336699; border-style:dashed;">
<tr>
<td width="100" align="left"> <b><font style="font-size:8pt"><a href="<?=$php_self?>?y=<?=$p_y?>"><?=$p_y?>년</a></font></b></td>
<td width="440" align="center"><b><font color="ff6633"><?=$y?>년</font></b></td>
<td width="100" align="right"><b><font style="font-size:8pt"><a href="<?=$php_self?>?y=<?=$n_y?>"><?=$n_y?>년</a></font></b> </td>
</tr>
</table>
<table width="640" align="center" cellpadding="0" cellspacing="0">
<tr><td colspan="5" height="20"></td></tr>
<tr>
<?
for($i=1;$i<=12;$i++) {
$l_d = date("t",mktime(0,0,0,$i,1,$y)); //각 월의 마지막 날
$start = date("w",mktime(0,0,0,$i,1,$y)); //각 월의 1일이 무슨요일인가
$last = date("w",mktime(0,0,0,$i,$l_d,$y)); //각 월의 마지막 날이 무슨요일인가
$f = date("F",mktime(0,0,0,$i,1,$y)); //영어로 된 달이름
if($i == $t_m and $y == $t_y) {
$m = "<b>$f</b>"; // 이번달은 두꺼운 글자로 처리
} else {
$m = "$f";
}
?>
<td>
<table width="200" height="130" style="border-width:1; border-color:#336699; border-style:dashed;">
<tr><td colspan="7" align="center"><font color="#336699"><?=$m?></font></td></tr>
<tr>
<?
if($start != 0) { //1일이 일요일이 아닐경우 밀리는 만큼 <td></td> 반복
for($r_s=1;$r_s<=$start;$r_s++) {
?>
<td> </td>
<?
}
}
for($j=1;$j<=$l_d;$j++) { //각 월별로 일자 반복
$d_k = date("w",mktime(0,0,0,$i,$j,$y));
if($d_k == "0") { // 일요일일 경우 주황색으로
?>
<td align="center"><font color="#ff6633"><?=$j?></font></td>
<?
} elseif($d_k == "6") { //토요일일 경우 녹색으로, <tr> 삽입
?>
<td align="center"><font color="#339933"><?=$j?></font></td></tr><tr>
<?
} else {
?>
<td align="center"><?=$j?></td>
<?
}
}
if($last != 6) { //말일이 토요일이 아닐경우 남는 만큼 <td></td> 반복
for($k=1; $k<=6-$last;$k++) {
?>
<td> </td>
<?
}
}
?>
</tr></table>
<?
if($i == 3 or $i == 6 or $i == 9) { //3월, 9월, 6월일 경우 <tr>삽입
?>
</td></tr><tr><td colspan="5" height="20"></td></tr><tr>
<?
} elseif($i == 12) { //12월일 경우
?>
</td>
<?
} else { // 다른 달일 경우 달력 테이블 끝난 후 공백 삽입
?>
</td><td width="20"> </td>
<?
}
}
?>
</tr></table>
참고로 TheMics님의 강좌를 참조하여 공부 했었습니다....(TheMics님 감사...^^;;)
주석을 옆에 달아놓았고...위쪽에 참고로 적어놓은 시간관련 함수들 보시면 이해가 되실겁니다.
<?/////연도달력?>
<html>
<head>
<style>
body
{scrollbar-face-color: #ffffff;
scrollbar-highlight-color: #336699;
scrollbar-3dlight-color: #ffffff;
scrollbar-shadow-color: #336699;
scrollbar-darkshadow-color: #ffffff;
scrollbar-track-color: #ffffff;
scrollbar-arrow-color: #336699}
body, td, select, input, div, form, textarea, center, option, pre, blockquote{font-size:9pt; font-family:Verdana; color:#666666;}
A:link {color:#336699;text-decoration:none;}
A:visited {color:#336699;text-decoration:none;}
A:active {color:#336699;text-decoration:none;}
A:hover {color:#c0c0c0;text-decoration:none;}
</style></head>
<!--
Y : 네자리 연도, 예) 1999
y : 두자리 연도, 예) 99
z : 해당 연도의 날짜수, 0부터 366까지
m : 월 숫자, 01부터 12까지
n : 월 숫자, 0이 붙지 않음. 1부터 12까지
F : 월 이름, 문자열. January, Febrary 등
t : 주어진 월의 일수 혹은 주어진 달의 마지막 일, 28부터 31까지
d : 일(day), 앞에 0이 붙은 2자리 숫자, 01부터 31까지
j : 앞에 0이 없는 일, 1부터 31까지(d 참고)
D : 요일 이름, 3글자의 영문자. Sun, Mon 등
w : 요일 숫자, 0(일요일) 부터 6(토요일)
-->
<body>
<?
if(!$y) $y = date("Y"); //연도 입력이 없는 경우 올해로
$p_y = $y - 1; //이전해
$n_y = $y + 1; //다음해
$t_m = date("n"); //지금이 몇월인가
$t_y = date("Y"); //지금이 몇년도인가
?>
<table width="640" align="center" style="border-width:1; border-color:#336699; border-style:dashed;">
<tr>
<td width="100" align="left"> <b><font style="font-size:8pt"><a href="<?=$php_self?>?y=<?=$p_y?>"><?=$p_y?>년</a></font></b></td>
<td width="440" align="center"><b><font color="ff6633"><?=$y?>년</font></b></td>
<td width="100" align="right"><b><font style="font-size:8pt"><a href="<?=$php_self?>?y=<?=$n_y?>"><?=$n_y?>년</a></font></b> </td>
</tr>
</table>
<table width="640" align="center" cellpadding="0" cellspacing="0">
<tr><td colspan="5" height="20"></td></tr>
<tr>
<?
for($i=1;$i<=12;$i++) {
$l_d = date("t",mktime(0,0,0,$i,1,$y)); //각 월의 마지막 날
$start = date("w",mktime(0,0,0,$i,1,$y)); //각 월의 1일이 무슨요일인가
$last = date("w",mktime(0,0,0,$i,$l_d,$y)); //각 월의 마지막 날이 무슨요일인가
$f = date("F",mktime(0,0,0,$i,1,$y)); //영어로 된 달이름
if($i == $t_m and $y == $t_y) {
$m = "<b>$f</b>"; // 이번달은 두꺼운 글자로 처리
} else {
$m = "$f";
}
?>
<td>
<table width="200" height="130" style="border-width:1; border-color:#336699; border-style:dashed;">
<tr><td colspan="7" align="center"><font color="#336699"><?=$m?></font></td></tr>
<tr>
<?
if($start != 0) { //1일이 일요일이 아닐경우 밀리는 만큼 <td></td> 반복
for($r_s=1;$r_s<=$start;$r_s++) {
?>
<td> </td>
<?
}
}
for($j=1;$j<=$l_d;$j++) { //각 월별로 일자 반복
$d_k = date("w",mktime(0,0,0,$i,$j,$y));
if($d_k == "0") { // 일요일일 경우 주황색으로
?>
<td align="center"><font color="#ff6633"><?=$j?></font></td>
<?
} elseif($d_k == "6") { //토요일일 경우 녹색으로, <tr> 삽입
?>
<td align="center"><font color="#339933"><?=$j?></font></td></tr><tr>
<?
} else {
?>
<td align="center"><?=$j?></td>
<?
}
}
if($last != 6) { //말일이 토요일이 아닐경우 남는 만큼 <td></td> 반복
for($k=1; $k<=6-$last;$k++) {
?>
<td> </td>
<?
}
}
?>
</tr></table>
<?
if($i == 3 or $i == 6 or $i == 9) { //3월, 9월, 6월일 경우 <tr>삽입
?>
</td></tr><tr><td colspan="5" height="20"></td></tr><tr>
<?
} elseif($i == 12) { //12월일 경우
?>
</td>
<?
} else { // 다른 달일 경우 달력 테이블 끝난 후 공백 삽입
?>
</td><td width="20"> </td>
<?
}
}
?>
</tr></table>
댓글 4
-
소이
2005.10.19 10:47
Goooooooooooooooooooooooooooooood!!!!!!!!!!!!!!!!!!!! -
장진희
2005.11.30 12:13
아 정말 제가 원하던거예요 ㅎ 감사 -
나무스타일
2005.08.08 18:15
많은 도움이 되겠네요. 고맙습니다. 추천! -
최문혁
2005.09.05 22:38
아름답구려~^^ 좋네요..
제목 | 글쓴이 | 날짜 |
---|---|---|
프레임에서 버튼으로 타겟 지정하기!! [1] | RedEye | 2003.04.01 |
Pop-up Window 생성기 [1] | xcool | 2003.04.03 |
현재 접속 시간을 택스트로 뿌려주는 소스... [8] | 이태운 | 2003.04.04 |
001 ~ 999 순차적인 리스트 만들기 [8] | 아이쿠 | 2003.04.10 |
두드려라! 그러면 돌아갈 것이다~ [3] | RedEye | 2003.04.12 |
현재 데이터를 읽는 중입니다. 잠시만 기다려주세요~!! | RedEye | 2003.04.12 |
부라우저 타이틀 제어? [1] | RedEye | 2003.04.14 |
페이지 프린트 제어 하기 [1] | RedEye | 2003.04.14 |
간단한 점프메뉴(selecter) [14] | 박재현 | 2003.04.14 |
메뉴이동입니다. [5] | 데빌스텔스 | 2003.04.20 |
png-24 포맷 알파값 이미지 로딩하기 [9] | D3 | 2003.04.20 |
유용한건 아니지만 마우스 클릭으로 블루스크린띠우기 [3] | 루룿 | 2003.04.25 |
좌표관련메소드모음 [1] | 김승태 | 2003.04.27 |
숫자인지 아닌지 알아보는함수 [1] | 김승태 | 2003.04.27 |
[! 수정판 !] 일반 자바 스크릅트와 차원이 다른 VB 스크립트 만들기! [10] | 제로보드 | 2003.04.29 |
시디롬 뱉어 내는 스크립.. [2] | 피너츠 | 2003.04.29 |
또다른 TOP으로 가기 [6] | RedEye | 2003.05.05 |
상태바에 링크 주소 쉽게 99.9999% 가리기 [8] | 최상락 | 2003.05.03 |
상태바에 링크 주소 99.9% 가리기 - 다른것 [8] | 세죠위그이 | 2003.05.05 |
[re] [소스] [배경음악] 첫곡은 랜덤, 그 이후로는 순차재생 --> 문제해결! [1] | 장진석 | 2003.06.02 |