반응형
단순히 해당 월로부터 몇 개월(30일)뒤가 아니라. UI 적으로 25일인 경우 다음달의 25일을 딱 나타내야 하는 경우가 생겼었다.
머리 싸매다가, 마지막 날짜만 다시 구하는 식으로 우회해서 해결했다.
datepicker.html |
<!doctype html> <html lang="ko"> <head> <title></title> <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery.min.js"></script> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> <script type="text/javascript"> jQuery(function() { jQuery("#valid_date").datepicker({ dateFormat: 'yy-mm-dd' }); }); function severalMonthsAfterward(month) { var selectDay = new Date(jQuery("#valid_date").val()); var lastDay = new Date(selectDay.getFullYear(), selectDay.getMonth() + 1, 0).getDate(); var calcDay = new Date(selectDay.getFullYear(), (selectDay.getMonth() + 1) + month, 0); var yyyy = calcDay.getFullYear(); var mm = calcDay.getMonth() + 1; var dd = selectDay.getDate(); if(lastDay == selectDay.getDate()) { dd = new Date(selectDay.getFullYear(), (selectDay.getMonth() + 1) + month, 0).getDate(); } if(mm < 10) { mm = "0" + mm; } if(dd < 10) { dd = "0" + dd; } jQuery("#valid_date").val(yyyy + "-" + mm + "-" + dd); } </script> </head> <body> <table> <tr> <th>날짜</th> <td> <input type="text" id="valid_date" value="" readonly style="cursor:pointer;color:red;" /> <input type="button" onClick="severalMonthsAfterward(1)" value="1개월""> <input type="button" onClick="severalMonthsAfterward(2)" value="2개월""> <input type="button" onClick="severalMonthsAfterward(3)" value="3개월""> </td> </tr> </table> </body> </html> |
출력화면01 : 선택일과 더할 월의 날짜를 동일하게 처리해야 하는경우 |
출력화면02 : 선택일이 마지막 날인경우 계산할 월의 마지막 날이 선택되게 끔 |
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] 함수 실행시 특정 value 값 전달하기 (0) | 2017.02.28 |
---|---|
[JavaScript] 동적 태그에서 스크립트 호출하기. (0) | 2016.05.26 |
[JavaScript] ReferenceError: '' is not defined 해결방법 (1) | 2015.07.12 |
[JavaScript] 자료형 검사(typeof 연산자) (0) | 2015.06.21 |
[JavaScript] 모바일 장치 구분 (0) | 2015.02.16 |