주간 베스트 월간 베스트 3개월 베스트 베스트 게시물
꽃배달 한국, 중국 전지역배송

깔끔 만년달력 (1년 1월부터 무한)

네로 | 2003.02.24 03:59:37 댓글: 0 조회: 921 추천: 7
분류웹 프로그래밍 https://life.moyiza.kr/itstudy/1758954
PHP의 날짜 관련 함수는 1970년부터 2038년 1월까지밖에 날짜를 다루지
못합니다. 아래 코드는 그런것에 연연하지 않는 만년달력 코드입니다.
기초적인 내용들로 사실 BASIC 시절부터 존재하던 것입니다.
[그만큼 오래전부터 사용되던 코드란 이야기입니다. PHP는 아니겠죠?]

기초적인 뼈대만 있고 꾸미지 않은 형태입니다. ^-^ 꾸미는 것은 사용자의
몫이겠죠?

... 날짜관련 함수 딱 하나 썼군요. date() 함수. 년,월을 기본으로 지정하기
위해 썼을뿐 실제론 필요없는 부분입니다. 사용자가 직접 지정해주면 되니까.

▷ 언제까지 있을지 모르겠지만 암튼 링크까지 한번 둬보렵니다. ^^;

- 미리보기
http://dreamphp.com/program/20011010_cal/cal.php
- 미리보기 (뒤의 수치를 바꿔보세요)
http://dreamphp.com/program/20011010_cal/cal.php?yy=2001&mm=11
- 소스보기
http://dreamphp.com/program/20011010_cal/cal.phps

... 링크로 열어보니 깨지는군요. 주소 복사해 직접 주소창에 붙여넣기 해서
열어보세요. 깔끔합니다. 애초에 테이블 썼으면 편했을텐데~ ^_____^

말꼬리... 고전 자료 정리는 언제쯤 마무리할 수 있을까...

---------*---------*---------*---------*---------*---------*---------*---------*

<?
// ▷ 만년달력 [1989 BASIC -> 2001 PHP]
// 2001.10.10.(수) BiHon [http://dreamphp.com , master@dreamphp.com]
// 이것은 공개용 뼈대 코드

$lastday = array(31,28,31,30,31,30,31,31,30,31,30,31); // 각 달의 마지막 날 지정
$dayname = array("일","월","화","수","목","금","토"); // 요일명 지정

if (!$yy) $yy = date("Y"); // 년도가 지정되지 않았을 경우 현재 년도로 지정
if (!$mm) $mm = date("m"); // 월이 지정되지 않았을 경우 현재 월로 지정

// 윤년 계산을 통해 2월의 마지막 날 계산
if ($yy%4==0 && $yy%100!=0 || $yy%400==0) $lastday[1] = 29;

// 전해까지 평년 기준으로 날짜수 계산 및 윤년의 횟수를 더함
$total = ($yy-1)*365+(int)(($yy-1)/4) - (int)(($yy-1)/100) + (int)(($yy-1)/400);

for ($i=0; $i<$mm-1; $i++) $total+=$lastday[$i]; // 전달까지의 날짜수 더함
$total++; // 그 달의 1일

$sday = $total%7; // 시작 요일을 구함 (0-일요일,...,6-토요일)

echo "<style>body {font-family:굴림체; font-size:9pt; }</style>n"; // 스타일

echo "▷ $yy - $mm<br>n"; // 년 - 월 출력

for ($i=0; $i<7; $i++) echo $dayname[$i]." "; // 요일명 출력

echo "<br>n"; // 다음줄 구분

// 처음부터 시작 요일값까진 공백처리
for ($i=1; $i<=$sday; $i++) echo " ";

$c = $sday; // 임시변수는 시작 요일값으로 지정

for ($i=1; $i<=$lastday[$mm-1]; $i++) { // 1부터 해당 월의 마지막 날까지 반복
$c++; // 임시 변수 증가
echo sprintf("%02d ",$i); // 형식에 맞추어 값 출력
if ($c%7==0) echo "<br>n"; // 7로 나눠 떨어지면 다음줄로 (토요일마다 다음줄)
}

?>

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:07)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >> 웹 프로그래밍
* 이동후 위치 : 웹 공부 >>

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:12)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >>
* 이동후 위치 : 웹 공부 >> 웹 프로그래밍
추천 (7) 선물 (0명)
IP: ♡.27.♡.234
3,006 개의 글이 있습니다.
제목 글쓴이 날짜 조회
관리자
2003-09-20
12103
관리자
2003-09-20
11634
관리자
2003-09-20
20793
지구인
2010-08-27
19566
지구인
2009-09-07
13884
SOLIDH
2010-01-29
15844
엔죠라이프
2004-10-07
16959
네로
2003-02-24
474
네로
2003-02-24
529
네로
2003-02-24
660
네로
2003-02-24
1478
네로
2003-02-24
430
네로
2003-02-24
740
네로
2003-02-24
481
네로
2003-02-24
574
네로
2003-02-24
921
네로
2003-02-24
486
네로
2003-02-24
500
네로
2003-02-24
476
네로
2003-02-24
409
네로
2003-02-24
527
네로
2003-02-24
557
네로
2003-02-24
398
네로
2003-02-24
383
네로
2003-02-24
1038
네로
2003-02-24
996
네로
2003-02-24
441
네로
2003-02-24
490
모이자 모바일