본문 바로가기
카테고리 없음

postman에서 오늘 기준으로 내일 날짜 설정하기. (Javascript)

by Zeromk2 2024. 4. 3.
728x90

이미지 생성기 라는것을 한번 써봤습니다

 

API 테스트 자동화를 실행할 때 날짜를 연산하는 경우가 종종 있습니다. 

날짜를 하드코딩하면 문제가 발생하는 상황이 많으므로 실행하는 날짜를 기준으로 설정하는 것이 좋은데요

오늘 날짜만 가져오는 것은 간단하지만 오늘 기준으로 내일 날짜를, 그것도 주말과 공휴일이 아닌 평일 날짜를

가져와야 하는 상황이 생겨서 ChatGPT에게 물어봐 답변을 들었습니다.

주석까지 친절하게 달아줘서 코드도 이해가 잘 되네요. 물론 코드도 잘 동작합니다 :)

 // 주어진 날짜가 주말인지 확인하는 함수
 function isWeekend(date) {
     return date.getDay() === 0 || date.getDay() === 6; // 0: 일요일, 6: 토요일
 }
 
 // 주어진 날짜가 공휴일인지 확인하는 함수
 function isHoliday(date) {
     // 공휴일 리스트 - 월과 일을 합쳐서 MM.dd 형식으로 저장
     const holidays = [
         "01.01",  // 신정
         "03.01",  // 3.1절
         "05.05",  // 어린이날
         "06.06",  // 현충일
         "08.15",  // 광복절
         "10.03",  // 개천절
         "10.09",  // 한글날
         "12.25"   // 크리스마스
     ];
 
     // 날짜를 MM.dd 형식으로 변환하여 공휴일 목록에 있는지 확인
     const formattedDate = (date.getMonth() + 1).toString().padStart(2, '0') + "." + date.getDate().toString().padStart(2, '0');
     return holidays.includes(formattedDate);
 }
 
 // 현재 날짜를 가져옵니다.
 var today = new Date();
 // 내일 날짜를 복사하여 계산에 사용합니다.
 var tomorrow = new Date(today);
 // 내일로 설정합니다.
 tomorrow.setDate(today.getDate() + 1);
 
 // 만약 내일이 주말이거나 공휴일이라면
 if (isWeekend(tomorrow) || isHoliday(tomorrow)) {
     // 내일이 주말이나 공휴일이라면 그 다음 평일로 변경합니다.
     while (isWeekend(tomorrow) || isHoliday(tomorrow)) {
         tomorrow.setDate(tomorrow.getDate() + 1);
     }
 }
 
 // 변경된 내일 날짜를 yyyy.mm.dd 형식으로 반환합니다.
 var reservation_formattedDate = tomorrow.getFullYear() + '.' + (tomorrow.getMonth() + 1).toString().padStart(2, '0') + '.' + tomorrow.getDate().toString().padStart(2, '0');
 // Postman 환경 변수에 예약 날짜를 설정합니다.
 pm.environment.set("reservation_date", reservation_formattedDate);

 

날짜 관련된 설정이 필요할 경우 참고하시면 좋을 것 같습니다.

물론 ChatGPT를 통한 도움이 더 빠를 수도 있습니다 :)

댓글