JavaScript에서 어제 날짜를 구하는 방법은 생각보다 간단합니다. 핵심 원리는 현재 날짜를 먼저 구한 뒤, 날짜 값에서 1을 빼주는 것입니다. 이때 setDate() 메서드를 활용하면 손쉽게 처리할 수 있습니다.
기본 문법
어제 날짜를 구하는 기본적인 문법은 다음과 같습니다.
yourCurrentDateVariableName.setDate(yourCurrentDateVariableName.getDate() - 1);
동작 원리
먼저 Date 객체를 생성하여 현재 날짜를 가져옵니다.
var currentDate = new Date();
그다음 getDate() 메서드로 현재 '일(day)' 값을 읽어오고, 여기서 1을 뺀 값을 setDate()에 다시 설정하면 어제 날짜가 됩니다.
- getDate(): 현재 날짜의 '일'을 숫자로 반환합니다.
- setDate(): 날짜 객체의 '일'을 지정한 값으로 변경합니다.
이 방법의 장점은 월이 바뀌는 시점도 자동으로 처리된다는 점입니다. 예를 들어 8월 1일에 1을 빼면 자동으로 7월 31일로 계산되므로 별도의 월 계산 로직이 필요하지 않습니다.
전체 예제 코드
아래는 현재 날짜와 어제 날짜를 함께 출력하는 완전한 예제입니다.
var currentDate = new Date();
console.log("현재 날짜 = " + currentDate);
var yesterdayDate = currentDate.setDate(currentDate.getDate() - 1);
console.log("어제 날짜 = " + new Date(yesterdayDate));실행 방법
Node.js 환경에서 위 프로그램을 실행하려면 터미널에 다음 명령어를 입력합니다.
node fileName.js
실행 결과
파일 이름을 demo137.js로 저장한 경우 실행 결과는 다음과 같습니다.
PS C:\Users\Amit\JavaScript-code> node demo137.js 현재 날짜 = Fri Jul 31 2020 18:57:17 GMT+0530 (India Standard Time) 어제 날짜 = Thu Jul 30 2020 18:57:17 GMT+0530 (India Standard Time)
출력 결과를 보면 현재 날짜가 7월 31일(금)일 때, 어제 날짜가 정확히 7월 30일(목)로 계산된 것을 확인할 수 있습니다. 시간 정보는 그대로 유지되고 날짜만 하루 감소합니다.
정리
JavaScript에서 어제 날짜를 구하는 과정을 요약하면 다음과 같습니다.
new Date()로 현재 날짜 객체를 생성합니다.getDate() - 1로 어제의 일 값을 계산합니다.setDate()로 계산된 값을 적용합니다.
이 방식은 월과 연도 경계도 자동으로 처리해 주기 때문에, 날짜 계산 시 가장 안전하고 널리 사용되는 패턴 중 하나입니다.