web developer

[javaScript] getDay() 활용하여 datepicker, 입력받은 날짜 수정하기 본문

JavaScript

[javaScript] getDay() 활용하여 datepicker, 입력받은 날짜 수정하기

trueman 2023. 9. 21. 18:33
728x90
728x90

1. getDay() 정의


data 함수 중에 getFullYear(), getMonth(), getDate(), getDay()를 이용하면 오늘 날짜의 연도, 월, 일을 알 수 있습니다.

이 중 getDay() 에 대해서 살펴보겠습니다.

 

1) 0 ~ 6 숫자로 반환.

  • 0 : 일요일 (Sunday)
  • 1 : 월요일 (Monday)
  • 2 : 화요일 (Tuesday)
  • 3 : 수요일 (Wednesday)
  • 4 : 목요일 (Thursday)
  • 5 : 금요일 (Friday)
  • 6 : 토요일 (Saturday)

 

2) 6으로 나눈 나머지가 0인지 여부에 따라 평일/주말 구분 가능.

  • 평일: (반환값%6 != 0)
  • 주말: (반환값%6 ==0)

 

2. getDay() 구문 


Date.getDay()

* 매개변수 : X


 

3. getDay() 활용하여 datepicker 수정하기


* datepicker 토요일 제외한 나머지 요일 비활성화 

function disableDays(date) {
	var day = date.getDay();
    return [(day != 0 && day != 1 && day !=2 && day !=3 && day != 4 && day != 5)];
}

$("#datepicker").datepicker("option", "beforeShowDay", disableDays);

 

4. getDay() 활용하여 입력받은 날짜 수정하기


* 입력받은 날짜가 토요일이 아니면 전주 토요일로 날짜 변경하기

function dayOfsaturday(wr_date) {
    // 주어진 날짜를 생성합니다.
    var inputDate = new Date(wr_date); // 2023-01-11 (수요일)
    var onlySaturday = null;
    
    // 토요일이 아닌 경우 
    if(inputDate.getDay() != 6) {
        // 입력 날짜의 요일을 가져옵니다 (0: 일요일, 1: 월요일, ..., 6: 토요일).
        var dayOfWeek = inputDate.getDay(); // 3

        // 입력 날짜의 요일을 기준으로 전주 토요일로 이동합니다.
        var daysToSubtract = dayOfWeek + 1; // 현재 요일을 포함한 이전 일수 계산 // 4
        var previousSaturday = new Date(inputDate); // 2023-01-11
        previousSaturday.setDate(inputDate.getDate() - daysToSubtract); // 2023-01-11 - 4 = 2023-01-07
        onlySaturday = new Date(previousSaturday).format("yyyy-MM-dd");
        
    // 토요일인 경우
    }else {
    	onlySaturday = wr_date;
    }
    return onlySaturday
}

출처 : https://homzzang.com/b/js-218

출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay 

728x90
728x90
Comments