TIL16-06 Date() 생성자 함수, getDay() 로 해당 날짜 요일 찾기 (feat. 날짜 내장 함수)

김태혁·2023년 1월 27일
0

TIL

목록 보기
55/205
  • 문제 설명
    2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.
  • 풀이 과정
    • 처음에는 이걸 어떻게 코드를 짜야하지 막막했고, 뭔가 규칙이 있지 않을까 고민을 했다. 도저히 답은 나오지 않았고, 구글링을 했다.
    • 검색 결과 날짜가 주어지면 해당 날짜의 요일을 찾아주는 내장 함수 getDay()를 찾을 수 있었다. getDay()는 해당하는 요일을 숫자로 반환해준다.
    • 거기다 Date() 생성자 함수를 통해 손쉽게 해당하는 날짜를 넘겨받을 수가 있다.
    • 아래 코드는 완성된 코드이다.
function solution(a, b) {
    let week = ['SUN','MON','TUE','WED','THU','FRI','SAT']
    let date = new Date(`2016-${a}-${b}`).getDay();
    return week[date];
}
  • 참고 : Date() 생성자
    Date 생성자는 시간의 특정 지점을 나타내는 Date 객체를 플랫폼에 종속되지 않는 형태로 생성합니다. Date 객체는 1970년 1월 1일 UTC(국제표준시) 자정으로부터 지난 시간을 밀리초로 나타내는 UNIX 타임스탬프를 담습니다.
  • 참고 : 날짜 함수 !!getMonth()+1을해 해줘야 한다. -> getMonth(); 의 반환 값이 0~11까지 이기 때문이다.
let now = new Date(); // 현재시간
 
 let year = now.getYear(); // 년
 let mon = (now.getMonth()+1); //월 
 let date = now.getDate(); //일
 let day = now.getDay(); //요일
 let hour = now.getHours(); //시간
 let min = now.getMinutes(); //분
 let sec = now.getSeconds(); //초
 let milsec = now.getMilliseconds(); //밀리초
profile
도전을 즐기는 자

0개의 댓글