JavaScript 개발 중 현재 날짜에서 일주일, 즉 7일 전의 날짜가 필요한 경우가 자주 있습니다. 이럴 때 setDate() 메서드와 getDate() 메서드를 조합하면 아주 간단하게 처리할 수 있습니다.
기본 문법
날짜에서 일주일을 빼는 기본 문법은 다음과 같습니다.
var anyVariableName = new Date(yourCurrentDate.setDate(yourCurrentDate.getDate() - 7));
1단계: 현재 날짜 가져오기
먼저 new Date() 객체를 생성하여 현재 날짜를 가져옵니다.
var currentDate = new Date();
console.log("현재 날짜=" + currentDate);2단계: setDate() 메서드로 7일 빼기
이제 setDate() 메서드에 getDate() - 7 값을 전달하여 일주일 전 날짜를 설정합니다.
전체 예제 코드
var currentDate = new Date();
console.log("현재 날짜=" + currentDate);
var before7Daysdate = new Date(currentDate.setDate(currentDate.getDate() - 7));
console.log("일주일 전 날짜=" + before7Daysdate);프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 사용합니다.
node 파일이름.js
여기서는 파일 이름이 demo60.js라고 가정하겠습니다.
실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
PS C:\Users\Amit\JavaScript-code> node demo60.js 현재 날짜=Tue Jul 14 2020 19:12:43 GMT+0530 (India Standard Time) 일주일 전 날짜=Tue Jul 07 2020 19:12:43 GMT+0530 (India Standard Time)
참고 사항
setDate() 메서드의 장점은 월 경계를 자동으로 처리한다는 점입니다. 예를 들어 현재 날짜가 5월 3일이라면 7일을 빼면 자동으로 4월 26일로 계산됩니다. 따라서 개발자가 월이나 연도 변경 로직을 직접 구현할 필요가 없습니다.
또한 특정 기간(예: 한 달, 일 년)을 빼고 싶다면 setMonth(), setFullYear() 같은 다른 메서드를 같은 방식으로 활용할 수 있습니다.