Javascript/javascript

Javascript 날짜 변경 함수(yyyy-mm-dd) - 삽질중인 개발자

개발 N년차 2019. 7. 4. 21:01
반응형

 

 

부트스트랩 datepicker를 사용하다 DB에 날짜를 조회하러 가다보면 날짜를 변경해서 가야하는 경우가 종종 있다.

 

부트스트랩 데이트피커, bootstrap datepicker 사용법 - 개발자 삽질 일기

사용할 bootstrap-datepicker plugin 은 아래에 있는 플러그인을 사용합니다. 사용하는 이유 : 가장 잘 사용하는 플러그인... !! 즉, 한번 써보면 다른 곳에서도 많이 쓰이는 플러그인 uxsolutions/bootstrap-dat..

programmer93.tistory.com

이럴때 사용하면 좋은 함수.

//날짜 변경해주는 함수
(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

 

반응형