2022. 7. 26. 14:37ㆍ[오픈소스_라이브러리]/[Moment.js]
목적
동적으로 클라이언트의 날자 데이터를 받고, 해당 월의 윤달 등이 고려된 상황에서
해당 달의 평일 ( 월, 화, 수, 목, 금) 의 수를 구하고
해당 달의 주말 ( 토, 일) 의 수를 구하는 방법
해결
Moment.js 를 사용하여 구현 가능
설치
다음 포스트 참고
https://yn971106.tistory.com/136
코드
1. 시작, 끝일 선언
moment 가 설치되어 있는 환경에서
startOf 메소드와 endOf 메소드를 활용하여
지금 이 순간의 달을 기준으로 시작 일 과 끝 일 을 구합니다.
2. 평일의 수를 저장할 변수를 선언
3. 반복하며 평일의 수를 증가시키는 코드
시작 일을 temp_date 에 저장하고
이를 해당 월의 마지막 일과 비교하여 마지막 날 보다 커질 경우 while 문을 빠져나오게 됩니다.
그렇지 않다면,
해당 temp_date 의 .day() 메소드를 이용해서 요일을 구하게 되고
. day() 메소드는
- 일 : 0
- 월 : 1
- 화 : 2
- 수 : 3
- 목 : 4
- 금 : 5
- 토 : 6
의 index 번호를 출력하게 됩니다.
주말을 거를 것이기 때문에 0과 6일 경우에는 그냥 지나가고,
그외의 경우에는 count를 증가시킵니다.
그리고나서 비교 대상인 temp_date 변수의 day 값을 1 증가시킵니다.
반복문 이후 count 를 불러오면 21일이 찍히는것을 확인 할 수 있습니다.
해당 7월의 평일 수는 총 21일이므로 정상작동 함을 알 수 있습니다.
+@
만약 지금 날자의 기준이 아니라
datepicker 와 같은 곳에서 입력받은 날일 경우
시작과 끝 날자 선언을 다음과 같이 하면 됩니다.
감사합니다.
'[오픈소스_라이브러리] > [Moment.js]' 카테고리의 다른 글
[Moment.js]_JS 날짜 라이브러리 (0) | 2022.07.04 |
---|