개발 공부/자바스크립트(JavaScript)

[js] 현재 날짜(이후)에서 가장 가까운 특정 요일의 날짜 구하기

가이윤 2022. 6. 20. 13:37

현재 날짜에서 가장 가까운 특정 요일의 날짜가 필요한 경우는 로또를 예로 들수 있다. 로또 같은 경우 매주 토요일에 추첨일이기 때문에 현재 날짜에서 가까운 토요일의 날짜가 필요하다.

 

let paramDate = new Date('2022-06-20'); // new Date('2022-06-20'): 월요일
	 
	    let day = paramDate.getDay();
	    let diff = paramDate.getDate() - day + (day == 0 ? 6 : 6);
	    return new Date(paramDate.setDate(diff)).toISOString().substring(0, 10);
	    
	    // return : 2022-06-25 (토요일)

이렇게 구현하면 Date()에 특정 날짜를 넣으면 그 날짜 이후로 가장 가까운 토요일의 날짜를 알 수 있다. 다른 요일로 하고 싶으면 (day == 0 ? 6 : 6); 부분에서 숫자만 변경해주면 된다.