티스토리 뷰
목차
반응형
2월28일, 7월31일 같은 월별 일자, 날짜 계산 해주는 JavaScript function 소스입니다.
출처 : 개발자포럼
▷ 자바스크립트 날짜 계산 소스 : 사용 방법
1 2 3 4 5 6 7 8 9 | // 사용 방법 var today = getDate(); today = '2011-04-27'; var today = getDate(null, null, null, '.'); today = '2011.04.27'; var day1 = getDate(0, -1, 0); day1 = '2011-03-27'; | cs |
▷ function getDate()
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | /** * 날짜계산기 * 아무것도 안던지면 오늘날짜 반환 * 오늘일자 기준 년,월,일 +- 계산해드림 * @param addYear : 년도계산 +10, -10 등등 * @param addMonth : 월계산 +10, -10 등등 * @param addDay : 일자계산 +10, -10 등등 * @param token : 기본값 "-" * @return yyyy-mm-dd */ function getDate(addYear, addMonth, addDay, token) { token = token == undefined || token == null ? "-" : token; addYear = addYear == null ? 0 : addYear; addMonth = addMonth == null ? 0 : addMonth; addDay = addDay == null ? 0 : addDay; var now = new Date(); var ry = now.getFullYear(); var rm = now.getMonth() + 1; var rd = now.getDate(); if(addYear != 0) { //cal year ry = ry + addYear; } if(addMonth != 0) {//cal month var isRun = true; rm = rm + addMonth; while (isRun == true) { if(rm > 12){ ry++; rm = rm - 12; } else if(rm < 1) { <br /> ry--; rm = 12 + rm; } if(rm > 0 && rm < 13){ <br /> isRun = false; } } } var cal = new Date(ry, rm, 0); if(rd > cal.getDate()) rd = cal.getDate(); if (addDay != 0) { rd = rd + addDay; if(rd > cal.getDate() || rd < 1) { <br /> var isRun = true; while(isRun == true) { if(rd > cal.getDate()) { rd = rd - cal.getDate(); rm++; if (rm > 12) { ry++; rm = 1; } } if(rd < 1) { <br /> rm--; if(rm < 1) { <br /> ry--; rm = 12; } cal = new Date(ry, rm, 0); rd = cal.getDate() + rd; } cal = new Date(ry, rm, 0); if(rd <= cal.getDate() && rd >= 1) isRun = false; } } if(rd > cal.getDate() || rd < 1) { <br /> cal = new Date(ry, rm, 0); } } if(rm.toString().length < 2) <br /> rm = '0' + rm; if(rd.toString().length < 2) <br /> rd = '0' + rd; return ry + token + rm + token + rd; } | cs |
▷ function nvl
1 2 3 4 5 6 7 8 9 10 11 | function nvl(str, nullValue) { if(nullValue == undefined || nullValue == null) nullValue = \'\'; if(str == undefined || str == null) { str = nullValue; } return str; } | cs |
관련 글
▷ C# 날짜 시간 차이 비교, TimeSpan 계산 (DateTime)
▷ [자바스크립트 강좌 009] 즉시 실행 함수 사용 (Javascript Function)
▷ [자바스크립트 강좌 003] NaN(Not a Number) 원인, 수치 연산 실패
ⓒ written by vicddory (출처 : 개발자 포럼)
반응형