본문 바로가기

Web/JavaScript

날짜를 계산하는 함수 Date 객체

1. 두 날짜 사이의 일 수 계산하기 :

function calculateDaysBetweenDates(date1, date2) {
    // Date 객체로 변환
    const d1 = new Date(date1);
    const d2 = new Date(date2);

    // 밀리초 단위로 계산
    const timeDifference = Math.abs(d2 - d1);

    // 하루의 밀리초 수 (1000밀리초 * 60초 * 60분 * 24시간)
    const millisecondsInADay = 1000 * 60 * 60 * 24;

    // 일 수 계산
    const daysDifference = Math.ceil(timeDifference / millisecondsInADay);

    return daysDifference;
}

// 사용 예시
const days = calculateDaysBetweenDates('2024-01-01', '2024-01-10');
console.log(days); // 9

 

2. 특정 날짜에 일수를 더하거나 빼기 : 

function addDaysToDate(date, days) {
    // Date 객체로 변환
    const resultDate = new Date(date);

    // 일수 더하기
    resultDate.setDate(resultDate.getDate() + days);

    return resultDate;
}

// 사용 예시
const newDate = addDaysToDate('2024-01-01', 10);
console.log(newDate.toISOString().split('T')[0]); // 2024-01-11

//function formatDate(date) {
//    const year = date.getFullYear();
//    const month = String(date.getMonth() + 1).padStart(2, '0'); // 월은 0부터 시작하므로 1을 더함
//    const day = String(date.getDate()).padStart(2, '0');

//    return `${year}-${month}-${day}`;
//}