https://programmers.co.kr/learn/courses/30/lessons/12901
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"를 반환하세요.
2016년은 윤년입니다.
2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)
Date 생성자 함수를 이용해 특정 날짜에 대한 정보를 갖고 온다
function solution(a,b){
var answer ='';
const date = new Date(`2016,${a},${b}`);
let day = (date+"").split(' ');
answer = day[0].toUpperCase();
return answer;
}
getDay()
메서드를 이용해 요일을 나타내는 정수를 0(일요일)부터 6(토요일)까지 반환한다.
function solution(a,b){
var answer ='';
let day = ["SUN","MON","TUE","WED","THU","FRI","SAT"]
let day = (date+"").split(' ');
answer = (day[date.getDay()])
return answer;
}
Day()
생성자 함수에 날짜를 나타내는 문자열을 인수로 전달하여 지정된 날짜와 시간을 나타내는 Day()
객체를 반환한다.getDay()
메서드를 이용해 정수를 0 - 6까지 반환한다.function solution(a,b){
const week = ['SUN','MON','TUE','WED','THU','FRI','SAT']
const date = new Date(`2016-${a}-${b}`);
return week[date.getDay()];
}
요일은 항상 앞의 세글자라는 점을 이용해 요일이 들어있는 배열을 만들지 않고
간단하게 풀 수 있는 방법
function getDayName(a,b){
return new Date(2016, a-1,b).toString().slice(0,3).toUpperCase();
}
Date
Date
객체는 한 점을 플랫폼에 종속되지 않는 형태로 나타냅니다.
함수로 호출할 경우new Date().toString()
과 동일하게 현재 날짜와 시간을 나타내는 문자열을 반환합니다.
new Date()
생성자로 호출할 경우 새로운 Date 객체를 반환합니다.
getDay()
와 setHours()
처럼 구성 요소를 현지 시간 기준으로 읽고 쓰는 메서드에는 getUTCDay()
와 setUTCHours()
처럼 UTC를 기준으로 하는 읽기/쓰기 메서드도 존재합니다.
getDay()
주어진 날짜의 현지 시간 기준 일을 반환합니다.
const birthday = new Date('August 19, 1975 23:15:30');
const date1 = birthday.getDate();
console.log(date1);
// expected output: 19