이러면 어떨까요?
현재 달의 날짜 하한을 먼저 잡습니다.
2월이라면 윤년 계산을 해야겠죠.. 밑에 checkdate를 써서 2월 29일이 맞는지 체크하면 됩니다.
그리고 한달이 30일인날과 31일인날을 계산해야겠지요..
(이건 1, 3, 5, 7, 8, 10, 12월이 31일이고 2월을 뺀 나머지는 30일임을 계산하면 됩니다.)
그런 다음에 mktime으로 timestamp를 만든다음에 (해당하는 달의 날짜-1)*86400을 하면 다음달의
날짜가 나올것 같습니다. 예를 들어 4월 24일이라면 4월은 30일까지이니까..
30일후의 날자를 계산하면 될것같네요..
그러니 4월 24일의 timestamp를 구한다음에 (30-1)*86400을 하면 5월 23일의 timestamp가 결정될것같
습니다만.. 그 다음에 해당 날짜를 구하시려면 그냥 date함수같은것을 쓰시면 되지 않을까
요? 모든 날짜는 결국 timestamp로 구해지니까요..
올려주신 소스와 많이 달라질것같네요.. 제가 생각하는것은 여기까지네요..
--
네트웍의 모험가 아돌 크리스틴을 꿈꾸며..
Sia..
:
: 소스에 대한 질문입니다..
: 아래의 소스중에서...현재는 년과 월별로 달력이 나오는 소스입니다..
: 근데 제가 구현하고자하는 것은 오늘날짜 즉, 2001년 4월24일부터 출력하여
: 다음달 5월23일까지 출력을 할려고 합니다..
:
: 4월 24일부터 당월 30일까지 출력하게는 할 수 있지만...
: 30일 뒤에 바로 5월달의 1일부터 23일까지 나올 수 있게 할려고 합니다..
:
: 조건문에서 조금수정하면 될꺼 같은데....
: 능력부족이라서 조건문을 달수가 없어서 이렇게 글을 남겨봅니다..
:
: 아시면 답변좀 해주세요.....ㅠㅠ...부탁드립니다.
:
:
:
:
:
: ########## 해당연월의 일수를 계산한다.
: function get_totaldays($year,$month) {
:
: $date = 1;
: while(checkdate($month,$date,$year)) {
: $date++;
: }
:
: $date--;
: return $date;
: }
:
: ########## 해당연월의 달력을 출력한다.
: function showCalendar($year,$month,$total_days)
: {
: $first_day = date('w', mktime(0,0,0,$month,1,$year));
:
: echo("$first_day<TABLE WIDTH='492' BORDER='0' cellspacing='0'
: cellpadding='1'>
: <TR><TD BGCOLOR='BLUE'>
: <TABLE BORDER='0' cellspacing='1' cellpadding='10' width=800>
: <TR>
: <TR>
: <TH bgColor='pink'>일</TH>
: <TH bgColor='pink'>월</TH>
: <TH bgColor='pink'>화</TH>
: <TH bgColor='pink'>수</TH>
: <TH bgColor='pink'>목</TH>
: <TH bgColor='pink'>금</TH>
: <TH bgColor='pink'>토</TH>
: </TR>
: <TR>
: ");
:
: $col = 0;
: for($i = 0; $i < $first_day; $i++) {
: echo(" <TD BGCOLOR='#FFFFFF'> </TD>");
: $col++;
: }
:
: for($j = 1; $j <= $total_days; $j++) {
: echo(" <TD BGCOLOR='#FFFFFF'>$j</TD>");
: $col++;
:
: if($col == 7) {
: echo("</TR>");
: if($j != $total_days) {
: echo("<TR>");
: }
: $col = 0;
: }
: }
:
: while($col > 0 && $col < 7) {
: echo(" <TD BGCOLOR='#FFFFFF'> </TD>");
: $col++;
: }
:
: echo("
: </TR>
: </TABLE>
: </TD></TR>
: </TABLE>
: ");
: }
: ?>
:
: <html>
: <head>
: <title>PHP로 구현하는 달력프로그램</title>
: <style type="text/css">
: <!--
: BODY,TR,TH,TD {
: font-family: "굴림";
: font-size: 10pt;
: line-height : 12pt;
: }
: //-->
: </style>
: </head>
:
: <body bgColor="#FFFFFF">
:
: <?
: $inputY = "2002";
: $inputM = "2";
:
: $totaldays = get_totaldays($inputY,$inputM);
: showCalendar($inputY,$inputM,$totaldays);
: ?>
:
: </body>
: </html>
--
네트웍의 모험가 아돌 크리스틴을 꿈꾸며..
Sia..