현재 날짜에서 가장 가까운 특정 요일의 날짜가 필요한 경우는 로또를 예로 들수 있다. 로또 같은 경우 매주 토요일에 추첨일이기 때문에 현재 날짜에서 가까운 토요일의 날짜가 필요하다.
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); 부분에서 숫자만 변경해주면 된다.
'개발 공부 > 자바스크립트(JavaScript)' 카테고리의 다른 글
[js] remove(), empty() 함수 차이 (0) | 2022.07.11 |
---|---|
[js] sort 함수로 배열 정렬하기 (0) | 2022.06.20 |
[js] slice(), charAt() 사용해서 Date()로 원하는 날짜 형식으로 출력하기 (0) | 2022.06.20 |
[js] focus(), change() 로 dropdown 메뉴 변경 전 값 얻기 (0) | 2022.06.20 |
[js] 드롭다운(dropdown)에서 선택된 값 얻기 (0) | 2022.06.16 |
[js] append()로 특정 id값을 가진 부모의 자식 태그 만들기 (0) | 2022.06.16 |