티스토리 뷰

html+javascript 달력

 

 

소스코드는 아래와 같습니다.

<html> 
  <head> 
  <script language="JavaScript">
    function getDayText(year, month){
        var dayTd = [];
        var d1 = (year+(year-year%4)/4-(year-year%100)/100+(year-year%400)/400 
              +month*2+(month*5-month*5%9)/9-(month<3?year%4||year%100==0&&year%400?2:3:4))%7; 
        for (i = 0; i < 42; i++) { 
            if (i%7==0){
                dayTd += '</tr>\n<tr>'; 
            } 

            if (i < d1 || i >= d1+(month*9-month*9%8)/8%2+(month==2?year%4||year%100==0&&year%400?28:29:30)) {
                dayTd += '<td> </td>'; 
            }else{
                dayTd += '<td' + (i%7 ? '' : ' style="color:red;"') + '>' + (i+1-d1) + '</td>'; 
            }
        } 
        return dayTd;
    }

    //dayArray를 tag로 감싸서 text로 만듬
    function getCalendarText(y, m){
        var text = '<table>\n<tr><td colspan=7 style="text-align:center">' 
        text += '<span onclick="showCalendar('+(y-1)+','+m+')"> Y- </span>'; 
        text += '<span onclick="showCalendar('+(m==1?(y-1)+','+12:y+','+(m-1))+')"> M- </span>'; 
        text += '[' + y + '/' + ((m < 10) ? ('0' + m) : m) + ']'; 
        text += '<span onclick="showCalendar('+(m==12?(y+1)+','+1:y+','+(m+1))+')"> M+ </span>'; 
        text += '<span onclick="showCalendar('+(y+1)+','+m+')"> Y+ </span>'; 
        text += '</td>'; 

        var dayTd = getDayText(y,m); 

        return text+dayTd + '</tr>\n</table>';
    }

    //날짜가 들어있는 array를 return
    function getDayArray(year, month){
        var arDay = [];
        var d1 = (year+(year-year%4)/4-(year-year%100)/100+(year-year%400)/400
            +month*2+(month*5-month*5%9)/9-(month<3?year%4||year%100==0&&year%400?2:3:4))%7;
        var i = 0;
        var date = "";

        for (i = 0; i < 42; i++) {
            if (i < d1 || i >= d1+(month*9-month*9%8)/8%2+(month==2?year%4||year%100==0&&year%400?28:29:30)) {
                date = "";
                arDay.push({"no":i, "date":date, "day":i%7});
            }else{
                date = (i+1-d1);
                arDay.push({"no":i, "date":date, "day":i%7});
            }
        }
        return arDay;
    }

    //'calendarDiv에 달력 출력'
    function showCalendar(y, m) { 
        text = getCalendarText(y, m);
        document.getElementById('calendarDiv').innerHTML = text; 
    } 

  </script> 

  </head> 

  <body onload="showCalendar(2016,6)"> 

    <div id="calendarDiv" style="font-family:Gulim;font-size:9pt;">
    </div> 

    <script>
        console.log( getDayArray(2016, 6) );
    </script>

  </body> 

</html> 

 

날짜 더하기 빼기

let date = new Date()
let newDate = new Date(date)
console.log(date, newDate)

newDate.setDate(newDate.getDate() - 7) // 날짜 -7

 

 

 

참고

http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=48169

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함