요일(Weekday)이란?
한 주의 요일은 월요일부터 일요일까지 각각 1부터 7까지의 숫자에 대응됩니다. JavaScript의 Date 객체는 이러한 요일 정보를 손쉽게 가져올 수 있도록 getDay() 메서드를 제공합니다. 지금부터 getDay() 메서드의 사용법을 간단명료하게 살펴보겠습니다.
문법(Syntax)
var d = getDay();
getDay() 메서드는 별도의 매개변수를 받지 않으며, 호출 시 해당 날짜의 요일에 해당하는 숫자를 그대로 반환합니다. 예를 들어 오늘이 월요일이라면 1, 화요일이라면 2가 출력되는 방식입니다.
예제 1
다음 예제에서는 Date 객체와 getDay() 메서드를 사용하여 오늘의 요일을 숫자로 계산합니다. 코드가 실행된 날이 월요일이었기 때문에 결과값으로 1이 출력되었습니다.
<html>
<body>
<script>
var d = new Date();
document.write(d.getDay());
</script>
</body>
</html>
실행 결과
1
예제 2
두 번째 예제에서는 document.write() 대신 getElementById()를 활용하여 특정 HTML 요소에 요일 숫자를 동적으로 삽입하는 방법을 보여줍니다. 실무에서는 이처럼 DOM 조작 방식이 더 널리 사용됩니다.
<html>
<body>
<p id = "day"></p>
<script>
var d = new Date();
document.getElementById("day").innerHTML = (d.getDay());
</script>
</body>
</html>
실행 결과
1
참고: getDay()의 실제 반환 범위
JavaScript의 getDay() 메서드는 실제로 일요일을 0으로 반환하며, 이후 월요일은 1, 화요일은 2, ... , 토요일은 6을 반환합니다. 즉, 반환 범위는 0~6입니다. 따라서 월요일을 1로 시작하는 형태가 필요하다면 반환값에 1을 더하거나, 배열을 활용해 원하는 요일 문자열로 변환하는 것이 좋습니다.