본문 바로가기

develop/java script

HTML 형식 달력 날짜 구하기 스크립트

var date = new Date();

var currentYear = date.getFullYear();

var currentMonth = date.getMonth() + 1;

var currentDate = date.getDate();

var lastDate = "";

var week = "";


$(function(){

//현재 년도 달 설정

if( currentMonth < 10 ) {

currentMonth = '0'+currentMonth;

}

$("#calendar_YM").text(currentYear+'.'+currentMonth);

//이전달

$("#prevMonth").click(function() {

var selectYear = parseInt($("#calendar_YM").text().substring(0, 4));

var selectMonth = parseInt($("#calendar_YM").text().substring(5, 7));

var html = '';

var dateNum = 1;

selectMonth = selectMonth - 1;

if(selectMonth == 0) {

selectMonth = 12;

//1월달 이전은 -1 년 해준다

selectYear = selectYear - 1;

}

var theDate = new Date(selectYear,selectMonth-1,1); //1일의 요일을 알려준다.0:일요일, 6: 토요일

var currentDay = theDate.getDay();

lastDate = noofdays(selectMonth,selectYear);

week = Math.ceil( ( currentDay + lastDate ) / 7 );

for(var i=1; i <= week; i++) {

html += '<tr>';

console.log("i : " +i+" /j : " +j+" /currentDay : "+currentDay+" /dateNum : "+dateNum);

for(var j=1; j<= 7; j++) {

if(i===1 && j<=currentDay || dateNum>lastDate) {

html += '<td></td>';

}else {

html += '<td>'+dateNum+'</td>';

dateNum++;

}

}

html += '</tr>';

}

$("#calendar_tbody").html(html);

if( selectMonth < 10 ) { 

selectMonth = '0'+selectMonth;

}

$("#calendar_YM").text(selectYear+'.'+selectMonth);

});

//다음달

$("#nextMonth").click(function() {

var selectYear = parseInt($("#calendar_YM").text().substring(0, 4));

var selectMonth = parseInt($("#calendar_YM").text().substring(5, 7));

var html = '';

var dateNum = 1;

selectMonth = selectMonth + 1;

if(selectMonth == 13) {

selectMonth = 1;

//1월달 이전은 -1 년 해준다

selectYear = selectYear + 1;

}

var theDate = new Date(selectYear,selectMonth-1,1); //1일의 요일을 알려준다.0:일요일, 6: 토요일

var currentDay = theDate.getDay();

lastDate = noofdays(selectMonth,selectYear);

week = Math.ceil( ( currentDay + lastDate ) / 7 );

for(var i=1; i <= week; i++) {

html += '<tr>';

console.log("i : " +i+" /j : " +j+" /currentDay : "+currentDay+" /dateNum : "+dateNum);

for(var j=1; j<= 7; j++) {

if(i===1 && j<=currentDay || dateNum>lastDate) {

html += '<td></td>';

}else {

html += '<td>'+dateNum+'</td>';

dateNum++;

}

}

html += '</tr>';

}

$("#calendar_tbody").html(html);

if( selectMonth < 10 ) { 

selectMonth = '0'+selectMonth;

}

$("#calendar_YM").text(selectYear+'.'+selectMonth);

});

});




//달력 셋팅을 위한 달의 말일 구하기

function noofdays(mm, yyyy) {

var daysofmonth; 


if((mm == 4) || (mm ==6) || (mm ==9) || (mm == 11)) 

{

daysofmonth = 30;

else 

{

daysofmonth = 31;

if(mm == 2) 

{

if (yyyy/4 - parseInt(yyyy/4) != 0)

{

daysofmonth = 28;

else 

{

if (yyyy/100 - parseInt(yyyy/100) != 0) 

{

daysofmonth = 29;

}

else 

{

if(yyyy/400 -  parseInt(yyyy/400) != 0) 

{

daysofmonth = 28;

else 

{

daysofmonth =29;

}


}


}


}


}

return daysofmonth;

}


'develop > java script' 카테고리의 다른 글

파일 등록 시 미리보기 기능 스크립트  (0) 2016.05.18
천단위 콤마 스크립트  (0) 2016.05.18
ajax form submit  (0) 2016.03.25
JS 생성자?? 프로토 타입???  (0) 2015.02.05
checkbox tree list value 가져오기  (0) 2014.11.12