[JAVASCRIPT] 자바스크립트 음력, 양력 공휴일 체크 함수 만들기


자바스크립트 음력, 양력 공휴일 체크 함수 만들기
● 입력한 날짜가 공휴일인지 검사를 한다.
/*** 입력한 날짜가 공휴일인지 검사를 한다.* 공휴일인 경우에는 경고창 후 멈춘다.* 입력형식 : 2023년 11월 21일 --> 20231121** @param string*/function isHoliday(yyyymmdd) {// 검사년도var yyyy = yyyymmdd.substring(0, 4);var holidays = new Array();// 음력 공휴일을 양력으로 바꾸어서 입력var tmp01 = lunerCalenderToSolarCalenger(yyyy + "0101"); // 음력설날var tmp02 = lunerCalenderToSolarCalenger(yyyy + "0815"); // 음력추석holidays[0] = getDateNextPre(tmp01, "pre", 1); //String(Number(tmp01) - 1); // 음력설 첫째날holidays[1] = tmp01; // 음력설 둘째날holidays[2] = getDateNextPre(tmp01, "next", 1);//Number(tmp01) + 1; // 음력설 셋째날holidays[3] = getDateNextPre(tmp02, "pre", 1);//Number(tmp02) - 1; // 추석 첫째날holidays[4] = tmp02; // 추석 둘째날holidays[5] = getDateNextPre(tmp02, "next", 1);//Number(tmp02) + 1; // 추석 셋째날holidays[6] = lunerCalenderToSolarCalenger(yyyy + "0408"); // 석가탄신일// 양력 공휴일 입력holidays[7] = yyyy + "0101"; // 양력설날holidays[8] = yyyy + "0301"; // 삼일절holidays[9] = yyyy + "0405"; // 식목일holidays[10] = yyyy + "0505"; // 어린이날holidays[11] = yyyy + "0606"; // 현충일//holidays[12] = yyyy + "0717"; // 제헌절holidays[12] = yyyy + "0815"; // 광복절holidays[13] = yyyy + "1003"; // 개천절holidays[14] = yyyy + "1225"; // 성탄절for (var i = 0; i < holidays.length; i++) {if (holidays[i] == yyyymmdd) {return true;}}}
● 음력을 양력으로 바꾸어서 반환한다.
/*** 음력을 양력으로 바꾸어서 반환한다.** @param string* return string*/function lunerCalenderToSolarCalenger(input_day) {var kk = [[1, 2, 4, 1, 1, 2, 1, 2, 1, 2, 2, 1], /* 1841 */[2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1],[2, 2, 2, 1, 2, 1, 4, 1, 2, 1, 2, 1],[2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2],[1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1],[2, 1, 2, 1, 5, 2, 1, 2, 2, 1, 2, 1],[2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2],[1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1],[2, 1, 2, 3, 2, 1, 2, 1, 2, 1, 2, 2],[2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2],[2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 5, 2], /* 1851 */[2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1, 2],[2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2],[1, 2, 1, 2, 1, 2, 5, 2, 1, 2, 1, 2],[1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1],[2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2],[1, 2, 1, 1, 5, 2, 1, 2, 1, 2, 2, 2],[1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2],[2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2],[2, 1, 6, 1, 1, 2, 1, 1, 2, 1, 2, 2],[1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2], /* 1861 */[2, 1, 2, 1, 2, 2, 1, 2, 2, 3, 1, 2],[1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2],[1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1],[2, 1, 1, 2, 4, 1, 2, 2, 1, 2, 2, 1],[2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2],[1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2],[1, 2, 2, 3, 2, 1, 1, 2, 1, 2, 2, 1],[2, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1],[2, 2, 2, 1, 2, 1, 2, 1, 1, 5, 2, 1],[2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 1, 2], /* 1871 */[1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2],[1, 1, 2, 1, 2, 4, 2, 1, 2, 2, 1, 2],[1, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1],[2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1],[2, 2, 1, 1, 5, 1, 2, 1, 2, 2, 1, 2],[2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2],[2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1],[2, 2, 4, 2, 1, 2, 1, 1, 2, 1, 2, 1],[2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 2],[1, 2, 1, 2, 1, 2, 5, 2, 2, 1, 2, 1], /* 1881 */[1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2],[1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 2],[2, 1, 1, 2, 3, 2, 1, 2, 2, 1, 2, 2],[2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2],[2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2],[2, 2, 1, 5, 2, 1, 1, 2, 1, 2, 1, 2],[2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1],[2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2],[1, 5, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2],[1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2], /* 1891 */[1, 1, 2, 1, 1, 5, 2, 2, 1, 2, 2, 2],[1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2],[1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2],[2, 1, 2, 1, 5, 1, 2, 1, 2, 1, 2, 1],[2, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2],[1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1],[2, 1, 5, 2, 2, 1, 2, 1, 2, 1, 2, 1],[2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2],[1, 2, 1, 1, 2, 1, 2, 5, 2, 2, 1, 2],[1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1], /* 1901 */[2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2],[1, 2, 1, 2, 3, 2, 1, 1, 2, 2, 1, 2],[2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1],[2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2],[1, 2, 2, 4, 1, 2, 1, 2, 1, 2, 1, 2],[1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1],[2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2],[1, 5, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2],[1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1],[2, 1, 2, 1, 1, 5, 1, 2, 2, 1, 2, 2], /* 1911 */[2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2],[2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2],[2, 2, 1, 2, 5, 1, 2, 1, 2, 1, 1, 2],[2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2],[1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1],[2, 3, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1],[2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2],[1, 2, 1, 1, 2, 1, 5, 2, 2, 1, 2, 2],[1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2],[2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2], /* 1921 */[2, 1, 2, 2, 3, 2, 1, 1, 2, 1, 2, 2],[1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2],[2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 1],[2, 1, 2, 5, 2, 1, 2, 2, 1, 2, 1, 2],[1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1],[2, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2],[1, 5, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2],[1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2],[1, 2, 2, 1, 1, 5, 1, 2, 1, 2, 2, 1],[2, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1], /* 1931 */[2, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2],[1, 2, 2, 1, 6, 1, 2, 1, 2, 1, 1, 2],[1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2],[1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1],[2, 1, 4, 1, 2, 1, 2, 1, 2, 2, 2, 1],[2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1],[2, 2, 1, 1, 2, 1, 4, 1, 2, 2, 1, 2],[2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2],[2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1],[2, 2, 1, 2, 2, 4, 1, 1, 2, 1, 2, 1], /* 1941 */[2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 2],[1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2],[1, 1, 2, 4, 1, 2, 1, 2, 2, 1, 2, 2],[1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 2],[2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2],[2, 5, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2],[2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2],[2, 2, 1, 2, 1, 2, 3, 2, 1, 2, 1, 2],[2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1],[2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2], /* 1951 */[1, 2, 1, 2, 4, 2, 1, 2, 1, 2, 1, 2],[1, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2],[1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2],[2, 1, 4, 1, 1, 2, 1, 2, 1, 2, 2, 2],[1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2],[2, 1, 2, 1, 2, 1, 1, 5, 2, 1, 2, 2],[1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2],[1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1],[2, 1, 2, 1, 2, 5, 2, 1, 2, 1, 2, 1],[2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2], /* 1961 */[1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1],[2, 1, 2, 3, 2, 1, 2, 1, 2, 2, 2, 1],[2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2],[1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1],[2, 2, 5, 2, 1, 1, 2, 1, 1, 2, 2, 1],[2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2],[1, 2, 2, 1, 2, 1, 5, 2, 1, 2, 1, 2],[1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1],[2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2],[1, 2, 1, 1, 5, 2, 1, 2, 2, 2, 1, 2], /* 1971 */[1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1],[2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 1],[2, 2, 1, 5, 1, 2, 1, 1, 2, 2, 1, 2],[2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2],[2, 2, 1, 2, 1, 2, 1, 5, 2, 1, 1, 2],[2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 1],[2, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1],[2, 1, 1, 2, 1, 6, 1, 2, 2, 1, 2, 1],[2, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2],[1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2], /* 1981 */[2, 1, 2, 3, 2, 1, 1, 2, 2, 1, 2, 2],[2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2],[2, 1, 2, 2, 1, 1, 2, 1, 1, 5, 2, 2],[1, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2],[1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 1],[2, 1, 2, 2, 1, 5, 2, 2, 1, 2, 1, 2],[1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1],[2, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2],[1, 2, 1, 1, 5, 1, 2, 1, 2, 2, 2, 2],[1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2], /* 1991 */[1, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2],[1, 2, 5, 2, 1, 2, 1, 1, 2, 1, 2, 1],[2, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2],[1, 2, 2, 1, 2, 2, 1, 5, 2, 1, 1, 2],[1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2],[1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1],[2, 1, 1, 2, 3, 2, 2, 1, 2, 2, 2, 1],[2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1],[2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1],[2, 2, 2, 3, 2, 1, 1, 2, 1, 2, 1, 2], /* 2001 */[2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1],[2, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2],[1, 5, 2, 2, 1, 2, 1, 2, 2, 1, 1, 2],[1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2],[1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 2, 2],[1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 2],[2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2],[2, 2, 1, 1, 5, 1, 2, 1, 2, 1, 2, 2],[2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2],[2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1], /* 2011 */[2, 1, 6, 2, 1, 2, 1, 1, 2, 1, 2, 1],[2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2],[1, 2, 1, 2, 1, 2, 1, 2, 5, 2, 1, 2],[1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2],[1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2],[2, 1, 1, 2, 3, 2, 1, 2, 1, 2, 2, 2],[1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2],[2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2],[2, 1, 2, 5, 2, 1, 1, 2, 1, 2, 1, 2],[1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1], /* 2021 */[2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2],[1, 5, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2],[1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1],[2, 1, 2, 1, 1, 5, 2, 1, 2, 2, 2, 1],[2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2],[1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2],[1, 2, 2, 1, 5, 1, 2, 1, 1, 2, 2, 1],[2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2],[1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1],[2, 1, 5, 2, 1, 2, 2, 1, 2, 1, 2, 1], /* 2031 */[2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2],[1, 2, 1, 1, 2, 1, 5, 2, 2, 2, 1, 2],[1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1],[2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2],[2, 2, 1, 2, 1, 4, 1, 1, 2, 1, 2, 2],[2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2],[2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1],[2, 2, 1, 2, 5, 2, 1, 2, 1, 2, 1, 1],[2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1],[2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2], /* 2041 */[1, 5, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2],[1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2]];var gan = new Array("甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸");var jee = new Array("子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥");var ddi = new Array("쥐", "소", "범", "토끼", "용", "뱀", "말", "양", "원숭이", "닭", "개", "돼지");var week = new Array("일", "월", "화", "수", "목", "금", "토");var md = new Array(31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);var year = input_day.substring(0, 4);var month = input_day.substring(4, 6);var day = input_day.substring(6, 8);// 음력에서 양력으로 변환var lyear, lmonth, lday, leapyes;var syear, smonth, sday;var mm, y1, y2, m1;var i, j, k1, k2, leap, w;var td, y;lyear = get_year(year); // 년도 checklmonth = get_month(month); // 월 checky1 = lyear - 1841;m1 = lmonth - 1;leapyes = 0;var byoonchecked = false;if (kk[y1][m1] > 2) {if (byoonchecked) {leapyes = 1;switch (kk[y1][m1]) {case 3:case 5:mm = 29;break;case 4:case 6:mm = 30;break;}} else {switch (kk[y1][m1]) {case 1:case 3:case 4:mm = 29;break;case 2:case 5:case 6:mm = 30;break;} // end of switch} // end of if} // end of iflday = get_day(day, mm);td = 0;for (i = 0; i < y1; i++) {for (j = 0; j < 12; j++) {switch (kk[i][j]) {case 1:td = td + 29;break;case 2:td = td + 30;break;case 3:td = td + 58; // 29+29break;case 4:td = td + 59; // 29+30break;case 5:td = td + 59; // 30+29break;case 6:td = td + 60; // 30+30break;} // end of switch} // end of for} // end of forfor (j = 0; j < m1; j++) {switch (kk[y1][j]) {case 1:td = td + 29;break;case 2:td = td + 30;break;case 3:td = td + 58; // 29+29break;case 4:td = td + 59; // 29+30break;case 5:td = td + 59; // 30+29break;case 6:td = td + 60; // 30+30break;} // end of switch} // end of forif (leapyes == 1) {switch (kk[y1][m1]) {case 3:case 4:td = td + 29;break;case 5:case 6:td = td + 30;break;} // end of switch} // end of switchtd = td + parseFloat(lday) + 22;// td : 1841 년 1 월 1 일 부터 원하는 날짜까지의 전체 날수의 합y1 = 1840;do {y1 = y1 + 1;if ((y1 % 400 == 0) || ((y1 % 100 != 0) && (y1 % 4 == 0))) {y2 = 366;}else {y2 = 365;}if (td <= y2) {break;}else {td = td - y2;}} while (1); // end do-Whilesyear = y1;md[1] = Number(y2) - 337;m1 = 0;do {m1 = m1 + 1;if (td <= md[m1 - 1]) {break;}else {td = td - md[m1 - 1];}} while (1); // end of do-Whilesmonth = Number(m1);sday = Number(td);// 월이 한자리인경우에는 앞에 0을 붙혀서 반환if (smonth < 10) {smonth = "0" + smonth;}// 일이 한자리인경우에는 앞에 0을 붙혀서 반환if (sday < 10) {sday = "0" + sday;}//return new String(syear + smonth + sday);return new String(String(syear) + String(smonth) + String(sday));}
● 년도검사를 한다 => 년도가 검사 범위를 벗어나면 경고창 후 멈춘다.
/*** 작성일 : 2023.11.21* 년도검사를 한다.* 1841~2043년 까지만 검사가 가능하다.* 년도가 검사 범위를 벗어나면 경고창 후 멈춘다.** @param int* @return int*/function get_year(src) {if ((src < 1841) || (src > 2043)) {alert('연도 범위는 1841 ~ 2043 까지입니다.');return;} else {return src;}}
● 달이 12보다 크거나 1보다 작은지 검사한다 => 날짜가 잘못된 경우에는 경고창 후 멈춘다.
/*** 달이 12보다 크거나 1보다 작은지 검사한다.* 날짜가 잘못된 경우에는 경고창 후 멈춘다.** @param int* @return int*/function get_month(src) {if ((src < 1) || (src > 12)) {alert('월 범위는 1 ~ 12 까지입니다.');return;} else {return src;}}
● 날짜가 1일보다 크고 src보다 작은 경우는 날짜를 반환한다 => 날짜가 잘못된 경우에는 경고창 후 멈춘다.
/*** 날짜가 1일보다 크고 src보다 작은 경우는 날짜를 반환한다.* 날짜가 잘못된 경우에는 경고창 후 멈춘다.** @param int* @param int* @return int*/function get_day(src, day) {if ((src < 1) || (src > day)) {alert('일 범위가 틀립니다.');return;} else {return src;}}
● 날짜의 입력된 일수 만큼의 날짜 return
/** 날짜의 입력된 일수 만큼의 날짜 return* pyyyymmdd : 20231121* pgubn : pre, next* pday : 1 2* return : yyyymmdd*/function getDateNextPre(pyyyymmdd, pgubn, pday) {var ndate = new Date(pyyyymmdd.substring(0, 4), pyyyymmdd.substring(4, 6), pyyyymmdd.substring(6, 8));var chkdate = new Date(pyyyymmdd.substring(0, 4), pyyyymmdd.substring(4, 6), pyyyymmdd.substring(6, 8));switch (pgubn) {case "pre":chkdate.setDate(ndate.getDate() - pday);break;case "next":chkdate.setDate(ndate.getDate() + pday);break;}//날짜포맷맞추기var szyyyymmdd = String(chkdate.getFullYear());if (String("0" + String(chkdate.getMonth())).length > 2) {szyyyymmdd = szyyyymmdd + "" + String(chkdate.getMonth());} else {szyyyymmdd = szyyyymmdd + "0" + String(chkdate.getMonth());}if (String("0" + String(chkdate.getDate())).length > 2) {szyyyymmdd = szyyyymmdd + "" + String(chkdate.getDate());} else {szyyyymmdd = szyyyymmdd + "0" + String(chkdate.getDate());}var rtnDate = szyyyymmdd;return rtnDate;}
● 사용 방법
isHoliday에 날짜 년-월-일을 입력하여 공휴일인지 true / false 값을 return 받을 수 있다.
실행 함수 : isHoliday(strDate.replace(/-/g, ""))- return 값 : true / false
* 자바스크립트의 다른 글도 확인해보세요!
비밀번호 정규식 - 8자 이상의 문자열, 하나 이상 숫자, 문자, 특수문자 포함
Javascript Jquery 휴대폰번호 정규식, 자동 하이픈 입력
