자바스크립트 날짜 계산

개발/실전 2016. 6. 20. 16:08

1. 날짜를 임의로 입력했을 경우 원하는 일수를 더해야 한다. (여기선 일수를 7일로 잡아 봅니다.)

2. 입력 받을 날짜 타입은 "YYYYMMDD" 로 가정합니다.

 

<form name="test"> <!-- 임의의 폼 -->

<input type="text" name="startDate" onkeyup="javascript:dateChk()"> <!-- 임의의 날짜를 입력 받아서 function 호출-->

<span id = endDate"></span><!-- 계산된 날짜가 나올 수 있는 부분 -->

</form>

 

<script>

function dateChk()

{

var frm = document.test;

var startDate = frm.startDate.value;

if(startDate.length == 8)    //입력 받은 날짜 길이가 8자리 이므로

{

startDate = new Date(startDate.substring(0,4),startDate.substring(4,6)-1,startDate.substring(6,8);  //년, 월, 일 형식으로 선언합니다.

//월에 -1을 해주는 이유는 6월을 넣었으면 스크립트는 0부터 시작하기때문에 5월로 인식한다.

 

startDate.setDate(startDate.getDate() + 7); //Date에 7을 더해줍니다

//마찬가지로 년도에 더할 경우 startDate.getFullYear() + 7을

//월에 더할 경우 startDate.getMont() + 7

endDate.innerHTML = startDate.getFullYear() + (startDate.getMonth()+(1*1) + startDate.getDate();

//위에서 선언한 span id 값에 표시를 해줍니다.

//월에 +1을 해주는 이유는 사람이 볼때 원상복구를 시키기 위해서

}

}

</script>

 

※ 날짜 받는 형식이 아래와 같다면 이렇게 처리 하면 됩니다.

var startDate= "2015-5-6";
var arr = startDate.split('-');
startDate = new Date(arr1[0], arr1[1], arr1[2]);