728x90
2022-03-10(목)
회사에서 프로젝트 중에 간단한 함수 생성해야해서 만들어봤다!
우선 일주일의 기준은 월요일부터 일요일이다
함수에 날짜를 매개변수로 넘겨주면 해당 날짜가 속한 일주일의 시작날짜(월요일)와 끝날짜(일요일)를 출력하는 함수다
회사에서 주단위로 데이터를 출력하는 차트를 생성해야해서 구글링을 하며 만들었다
혹시 찾는 누군가에게 도움이 됐으면 좋겠다
<날짜 받아서 일주일의 시작 출력하는 함수>
/**
* 매개변수 date : new Date()의 형식으로 전달
* 출력 : yyyy-mm-dd 형식으로 출력
*/
function getWeekStartDate(date){
let today = new Date(date.setHours(0,0,0,0));
let day = today.getDay();
let startDate
let resultDate
if(day === 0)
day = 6
else
day -= 1
resultDate = today.getDate() - day;
startDate = new Date(today.setDate(resultDate))
return startDate.toLocaleDateString()
}
굉장히 간단하다
우선 받아오는 값의 시간을 0:0:0:0으로 맞추주고
매개변수 날짜에 요일의 날을 저장한다
만약 day값이 0이면 일요일이라는 소리가 되니 6을 넣어준다
다른 요일이면 그냥 day-1를 사용하면 된다
입력받은 날짜에 요일수를 빼주고 new Date형식으로 넣어주면 된다
2022-03-10을 매개변수로 줬을 때 2022. 3. 7 의 값을 받을 수 있다
<날짜를 받아서 일주일의 끝날짜를 출력하는 함수>
function getWeekEndDate(date){
let today = new Date(date.setHours(0,0,0,0));
let day = today.getDay();
let resultDate
let endDate
if(day === 0)
day = 6
resultDate = today.getDate() - day;
endDate = new Date(today.setDate(resultDate + 7 ))
if(date < 0)
endDate.setMonth(endDate.getMonth() + 1);
return endDate.toLocaleDateString()
}
시작 날짜를 출력하는 함수와 유사하다
다만 다른 점은 만약 2022-02-28~2022-03-06의 주라면
2월의 날짜가 시작 날짜기 때문에 한달을 더해줘야한다
그래서 2022-03-01을 입력하면 2022-03-06일이 나오는 것을 알 수 있다
오늘도 아잣!
728x90
'코딩 연습장 > Javascript' 카테고리의 다른 글
javascript 두 날짜 값 사이에 몇 주를 포함하는 출력하기 (0) | 2022.04.01 |
---|---|
Python / JavaScript 이용한 지역별 전기차 충전소 지도 출력 프로젝트 - 2 (html 웹페이지 만들기) (0) | 2021.07.02 |
자바스크립트를 이용한 개인 프로젝트 - 13(마우스 클릭 이벤트) (0) | 2021.06.16 |
자바스크립트를 이용한 개인 프로젝트 - 12(영상 처리 알고리즘) (0) | 2021.06.16 |
자바스크립트를 이용한 개인 프로젝트 - 11(영상 처리 알고리즘) (0) | 2021.06.16 |