본문으로 바로가기

 

 

JAVASCRIPT 에서도 PHP 처럼 date('Y-m', strtotime($month.' -1 year')); 이런 식으로 날짜를 계산해 보자.

 

function date_calc(ymd, calc) {

    var date = new Date( ymd.substring(0, 4), ymd.substring(5, 7), ymd.substring(8, 10) );

    var year = date.getFullYear();
    var month = date.getMonth() - 1;
    var day = date.getDate();

    calc = calc.split(' ');

    if (calc[1] == 'year') date = new Date(year + parseInt(calc[0]), month, day);
    else if (calc[1] == 'month') date = new Date(year, month + parseInt(calc[0]), day);
    else date = new Date(year, month, day + parseInt(calc[0]));


    year = date.getFullYear();
    month = ("0" + (1 + date.getMonth())).slice(-2);
    day = ("0" + date.getDate()).slice(-2);
/*
// 이 부분으로 변경하고
    year = date.getFullYear().toString().substr(2);
    month = ("0" + (1 + date.getMonth())).slice(-2);
*/

    return year + "-" + month + "-" + day;
// 이 부분으로 변경하면
//    return year + month;

}

console.log( date_calc('2023-09-30', '+1 day') ); // 2023-10-01
// 변경하면 2310 이 된다.

console.log( date_calc('2023-09-30', '+23 day') ); // 2023-10-23
console.log( date_calc('2023-09-30', '-2 year') ); // 2021-09-30
console.log( date_calc('2023-09-30', '+3 month') ); // 2023-12-30