티스토리 뷰

날짜 입력 받을 때 오늘날짜 보다 작은날짜을 입력받지 말아할 때가 있다.


여러가지 방법을 시도해 봤다. 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());


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함