웹마스터 팁
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] | 아렌티 | 2006.04.25 |
[이 컨트롤을 활성화하고..] 해결하기 [2] | 모그422 | 2006.04.29 |
플래시 영역에 박스가 생기는것 [4] | 로그인 | 2006.05.03 |
웹FTP 적용하기 - 꽁수 [4] | whenji | 2006.05.02 |
홈페이지 하단 링크주소 없에는 소스 2 [4] | 인터니즈 | 2006.04.27 |
홈페이지 하단 링크주소 없에는 소스 [6] | 인테리어뱅크 | 2006.04.10 |
내 홈페이지에 유명사이트 검색엔진을 달자...(네이버,다음,야후 등등) [3] | 트래비스 | 2006.05.10 |
익스플러로 플래시 영역 박스 생김과 이 컨트롤을 활성화.. [14] | 도토리맘 | 2006.05.15 |
[소스] 개발자,디자이너 전용 통합검색 스크립트 [1] | 김성대 | 2006.05.19 |
부모창과 함께 닫히는 팝업창(IE, FF) | 행복한고니 | 2006.07.06 |
깔끔한 이미지 펼침박스 [2] | ▩윤미 | 2006.07.11 |
환상적인 이미지 갤러리 (4차원세계에 빠져보세요) [5] | ▩윤미 | 2006.07.11 |
상단 타이틀바 흐르는 텍스트 | 왜,그러지 | 2006.07.14 |
위에서 아래로 좌에서 우로... [1] | 왜,그러지 | 2006.07.14 |
날라서 붙는 텍스트 [1] | 왜,그러지 | 2006.07.17 |
자바스크립트로 만든 테트리스 일명 자트리스 ^^;; [12] | beMax | 2006.07.27 |
배경색을 마우스로 크릭하여 지정하여 준다. | 왜,그러지 | 2006.07.27 |
로또 번호 추출기 [3] | 왜,그러지 | 2006.07.27 |
텍스트 선택하기 | 행복한고니 | 2006.09.06 |
로또 번호 생성기 허접..ㅋㅋ [5] | 삐따기 | 2006.10.04 |