Javascript/javascript
Javascript 날짜 변경 함수(yyyy-mm-dd) - 삽질중인 개발자
개발 N년차
2019. 7. 4. 21:01
반응형
부트스트랩 datepicker를 사용하다 DB에 날짜를 조회하러 가다보면 날짜를 변경해서 가야하는 경우가 종종 있다.
이럴때 사용하면 좋은 함수.
//날짜 변경해주는 함수
(yyyy-mm-dd 형태만 사용가능)
//beforeDate : 변경전 날짜
//addNumber : 변경하고 싶은 일(월,년)수
//type : 일(월,년) 선택
function dateAddDel(beforeDate, addNumber, type) {
var yy = parseInt(beforeDate.substr(0, 4), 10);
var mm = parseInt(beforeDate.substr(5, 2), 10);
var dd = parseInt(beforeDate.substr(8), 10);
if (type == "d") { //일
d = new Date(yy, mm - 1, dd + addNumber);
}
else if (type == "m") { //월
d = new Date(yy, mm - 1, dd + (addNumber * 31));
}
else if (type == "y") { //년
d = new Date(yy + addNumber, mm - 1, dd);
}
yy = d.getFullYear();// 19를 2019로 변경
mm = d.getMonth() + 1; mm = (mm < 10) ? '0' + mm : mm; //월 변경 +1 하는 이유는 자바스크립트에서 0이 1월이라
dd = d.getDate(); dd = (dd < 10) ? '0' + dd : dd;//10일 이전이면 숫자 자릿수 맞추기 위함
return '' + yy + '-' + mm + '-' + dd;
//사용 예시
dateAddDel('2019-06-22',2,'d'); // 2019-06-24
dateAddDel('2019-06-22',-2,'d'); // 2019-06-20
dateAddDel('2019-06-30',1,'d'); // 2019-07-01
dateAddDel('2019-06-22',1,'m'); // 2019-07-22
dateAddDel('2019-06-22',-1,'m'); // 2019-05-22
dateAddDel('2019-06-22',1,'y'); // 2020-06-22
dateAddDel('2019-06-22',-1,'y'); // 2018-06-22
반응형