[Moment.js]_선택한 달의 평일, 주말 수 구하기

2022. 7. 26. 14:37[오픈소스_라이브러리]/[Moment.js]

728x90
반응형

목적

동적으로 클라이언트의 날자 데이터를 받고, 해당 월의 윤달 등이 고려된 상황에서

 

해당 달의 평일 ( 월, 화, 수, 목, 금) 의 수를 구하고

해당 달의 주말 ( 토, 일) 의 수를 구하는 방법


해결

Moment.js 를 사용하여 구현 가능


설치

 

다음 포스트 참고

https://yn971106.tistory.com/136

 

[Moment.js]_JS 날짜 라이브러리

Moment.js 라이브러리란? 자바스크립트 날짜관련 라이브러리 중 가장 많이 사용했었던 라이브러리 입니다. 너무 큰 사이즈 차지 등의 문제로 더이상 업데이트는 하지 않는 라이브러리 입니다. 하

yn971106.tistory.com


코드

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 와 같은 곳에서 입력받은 날일 경우

시작과 끝 날자 선언을 다음과 같이 하면 됩니다.

 

 

 

감사합니다.

 

 

728x90
반응형

'[오픈소스_라이브러리] > [Moment.js]' 카테고리의 다른 글

[Moment.js]_JS 날짜 라이브러리  (0) 2022.07.04