Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 날짜에 일수를 더하는 방법 완벽 가이드

JavaScript에서 날짜에 특정 일수를 더하려면 Date() 함수로 현재 날짜를 가져온 뒤, 밀리초 단위의 시간 값을 활용해 원하는 일수만큼 더하면 됩니다.

날짜에 일수 추가하기

아래 예제는 현재 날짜를 먼저 출력한 다음, 2일을 더한 날짜를 계산하여 화면에 표시합니다. 핵심 원리는 하루 = 24시간 × 60분 × 60초 × 1000밀리초라는 점을 이용하는 것입니다.

예제

<!DOCTYPE html>
<html>
   <body>
      <script>
         var date, incDate;
         date = new Date();
         document.write(date);

         var incDate = new Date(new Date().getTime()+(2*24*60*60*1000));
         document.write("<br>"+incDate);
      </script>
   </body>
</html>

코드 설명

  • new Date(): 현재 시각을 기준으로 하는 날짜 객체를 생성합니다.
  • getTime(): 1970년 1월 1일 00:00:00 UTC부터 경과한 시간을 밀리초 단위 숫자로 반환합니다.
  • (2*24*60*60*1000): 2일에 해당하는 밀리초 값입니다. 일수를 바꾸고 싶다면 첫 번째 숫자인 '2'만 수정하면 됩니다.
  • 현재 시간(밀리초)에 이 값을 더한 후 다시 Date 객체로 감싸면, 정확히 2일 후의 날짜가 계산됩니다.

대체 방법: setDate() 메서드 활용

밀리초 계산이 번거롭다면 setDate() 메서드를 사용하는 것이 더 직관적입니다. 이 방식은 월말과 월 초가 넘어가는 경우도 자동으로 처리해 주므로 실무에서 더 안전하게 사용할 수 있습니다.

var date = new Date();
date.setDate(date.getDate() + 2); // 2일 후
console.log(date);

두 방법 모두 결과는 동일하지만, 가독성과 유지보수 측면에서는 setDate() 방식을 권장합니다. 복잡한 날짜 연산이 필요하다면 date-fns나 Day.js 같은 날짜 전용 라이브러리 도입도 고려해 보세요.