생각을 IT다
윤년을 포함한 입력한 날짜의 요일 계산 본문
반응형
해당 글은 1년 1월 1일을 기준으로 기준 날짜까지의 총 일수를 계산하고 7일로 나눈 몫으로 요일을 구하는 방식입니다.
let lastDay = new Array(31,28,31,30,31,30,31,31,30,31,30,31); //각 월 별 일수를 정의
let week = new Array("일","월","화","수","목","금","토"); //일주일을 일요일부터 배열로 정렬
var year = 2023; //년도 입력
var month = 2; //월 입력
var day = 19; //일 입력
//1년 계산
var days = ((year - 1) * 365) + ((year - 1) / 4) - ((year - 1) / 100) + ((year - 1) / 400); //윤년을 포함한 1년을 계산
//윤년계산 하며 맞춰서 lastday 갱신
for (var i = 0; i < month - 1; i++) { //개월 수를 점점 증가시킨다
if ( month == 2 ) { // 2월일 경우에는
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { //윤년임으로 해당 년도는 2월을 28일에서 29일로 변경
lastDay[1] = 29;
}
}
days += lastDay[i]; //1년 1월 1일부터 입력값까지의 총 일수 계산 => 요일 계산을 위한 값
}
//월의 첫 시작
var firstDay = 0;
firstDay = days % 7; //매달의 첫날은 1년을 7로 나눈 값의 나머지
firstDay = Math.floor(firstDay); //내림 후 주어진 숫자보다 작거나 같은 가장 큰 정수 반환
var count = firstDay;
for(var i = 1; i <= lastDay[month - 1]; i++) {
count++; //카운트를 증가
if(count >= 7){ //카운트가 7보다 크거나 같다면
count = 0; //0으로 돌아감
}
if(day == i){
var yoil = week[count]; //week의 정렬에서 카운트의 수에 해당하는 위치에 값을 가져옴
break;
}
}
console.log(yoil)
브라우저의 개발자 모드를 통해서 콘솔창에 입력하고 console을 통해 결과값을 받아볼 수 있습니다.
반응형
'jQuery' 카테고리의 다른 글
jQuery API (1) (0) | 2023.08.31 |
---|---|
jQuery 문제풀이 (0) | 2023.02.15 |
jQuery 문제 풀이 (16번~21번) (0) | 2023.01.25 |
jQuery 문제 풀이 (11번~15번) (0) | 2023.01.25 |
jQuery 문제 풀이 (6번~10번) (0) | 2023.01.25 |
Comments