주 번호로 해당 주의 시작일 ~ 종료일 범위 구하기

2023. 9. 17. 08:52Javascript

과연 AI 검색엔진의 시대인가!

구글에서 주차로 검색해도 안나오고 죄다 차량 주차에 관한 내용 뿐이다.

다행히 문장을 만들어서 AI 검색엔진에 넣으니 f(입력) = 출력 공식이 성립했다.

 

아래는 AI 검색결과에 문자열 처리만 넣은 것이다.

/**
주 번호로 해당 주의 시작일 ~ 종료일 구하기
필요한 인자 : 시작년, 주 번호(주차)
*/
function getRangeOfWeek(year, week) {
  let firstDayOfYear = new Date(year, 0, 1);
  let firstDayOfWeek = new Date(firstDayOfYear.getTime() + ((week - 1) * 7 * 24 * 60 * 60 * 1000));
  let lastDayOfWeek = new Date(firstDayOfWeek.getTime() + (6 * 24 * 60 * 60 * 1000));
  
  let st = firstDayOfWeek.toLocaleDateString().replaceAll('.', ''); // '2023 9 17'
  let ed = lastDayOfWeek.toLocaleDateString().replaceAll('.', '');  // '2023 9 23'
  let stMon = st.substring(st.indexOf(' ')+1, st.lastIndexOf(' ')).padStart(2, '0'); // '09'
  let stDay = st.substring(st.lastIndexOf(' ')+1).padStart(2, '0');                  // '17'
  
  let edMon = ed.substring(ed.indexOf(' ')+1, ed.lastIndexOf(' ')).padStart(2, '0'); // '09'
  let edDay = ed.substring(ed.lastIndexOf(' ')+1).padStart(2, '0');                  // '23'
  
  console.log(stMon + '.' + stDay + ' ~ ' + edMon + '.' + edDay);
}

실행결과 :

 

2023년 38주차 : 9월 17일부터 23일까지

개발자 모드에서 실행한 결과