자바스크립트 오늘날짜보다 작은날짜 체크하기
날짜 입력 받을 때 오늘날짜 보다 작은날짜을 입력받지 말아할 때가 있다.
여러가지 방법을 시도해 봤다. new Date()를 쓰고 getTime() 했더니 시분초까지 붙어서 오늘날짜를 체크하기가 어려웠다.
그래서..
그냥 간단하게 아래와 같이 하였다.
for(var i=0; i<5; i++){
var inputDate=$("#endYmd"+i).val();
var today=new Date();
var year=today.getFullYear();
var month=new String(today.getMonth()+1); //월은 0부터 시작이니 1을 더해준다.
var day=new String(today.getDate());
if(month.length==1){
month="0"+month;
}
if(day.length==1){
day="0"+day;
}
var t=year+"-"+month+"-"+day;
if(inputDate<t){
alert("오늘보다 작은날 입력불가");
$("#endYmd"+i).focus();
rtn=false;
break;
}
===================================================
노파심에.. 단지 오늘 기준으로 하면 위와 같이 해도 문제가 없는데 만약 날짜계산이 들어가면 (예 3달후 등..) 년도, 월, 일 각각 계산하면 동일년도면 눈치를 못채나 년도가 바뀌면 문제가 생긴다.
그래서 날짜 계산할 때는 전체 날짜로 해서 계산해야만 한다.
즉, 예를들어 3개월 후 날짜를 얻을 려면
var date3=new Date();
//년도를 뽑아야 되니 먼저 계산하고 년도를 뽑아야 한다.
//월은 0부터 시작이니 3개월 후면 4를 더해줘야 한다.
date3.setMonth(date3.getMonth()+4);
var year3=date3.getFullYear();
var month3=new String(date3.getMonth());
var day3=new String(date3.getDate());