Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트 Date.setMonth() 함수 – 날짜의 월(month) 값 설정 방법

자바스크립트 Date 객체란?

Date 객체는 자바스크립트 언어에 기본적으로 내장된 데이터 타입입니다. Date 객체는 다음과 같이 new Date()를 사용하여 생성합니다.

Date 객체가 생성되면 다양한 메서드를 통해 객체를 조작할 수 있습니다. 대부분의 메서드는 현지 시간(local time) 또는 UTC(협정 세계시, GMT)를 기준으로 객체의 연도, 월, 일, 시, 분, 초, 밀리초 필드를 가져오거나 설정하는 역할을 합니다.

Date 객체의 setMonth() 함수는 월을 나타내는 정수를 인수로 받아, 현재 날짜의 '월' 값을 해당 값으로 교체합니다.

문법(Syntax)

dateObj.setMonth(monthValue);

monthValue에는 월을 나타내는 정수를 전달합니다. 이때 월 값은 0부터 시작하므로 0은 1월, 11은 12월을 의미합니다. 필요에 따라 두 번째 인수로 일(day) 값도 함께 지정할 수 있습니다.

예제 1: 특정 날짜의 월 변경하기

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var dateObj = new Date('September 26, 89 5:4:25:96');
      document.write("Current date: "+dateObj.toUTCString());
      document.write("<br>");
      dateObj.setMonth(9);
      document.write("Date after setting the month: "+dateObj.toUTCString());
   </script>
</body>
</html>

실행 결과

Current date: Mon, 25 Sep 1989 23:34:25 GMT
Date after setting the month: Wed, 25 Oct 1989 23:34:25 GMT

위 예제에서는 1989년 9월 26일로 생성한 날짜 객체의 월을 setMonth(9)를 통해 10월로 변경했습니다. 실행 결과 날짜가 10월 25일로 바뀐 것을 확인할 수 있습니다.

예제 2: 시간 정보 없이 생성한 날짜에 월 설정하기

날짜 객체를 생성할 때 시각 정보를 명시하지 않았더라도 setMonth() 함수를 사용해 월을 설정할 수 있습니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var dateObj = new Date('1989 5:4:25:96');
      dateObj.setMonth(8);
      document.write(dateObj.toString());
   </script>
</body>
</html>

실행 결과

Fri Sep 01 1989 05:04:25 GMT+0530 (India Standard Time)

예제 3: 현재 날짜의 월만 변경하기

마찬가지로 생성자에 아무 값도 전달하지 않고 Date 객체를 생성한 경우에도 setMonth() 함수로 월을 설정할 수 있으며, 이때 날짜, 연도 등 나머지 값들은 현재 날짜(와 시간) 그대로 유지됩니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var dateObj = new Date();
      dateObj.setMonth(8);
      document.write(dateObj.toString());
   </script>
</body>
</html>

실행 결과

Tue Sep 18 2018 22:13:48 GMT+0530 (India Standard Time)

setMonth() 사용 시 주의 사항

  • 월 값은 0부터 시작합니다. 즉, 0은 1월이며 11은 12월입니다.
  • 11보다 큰 값을 전달하면 연도가 자동으로 조정됩니다. 예를 들어 setMonth(12)는 다음 해 1월로 설정됩니다.
  • 음수를 전달하면 이전 연도의 월로 거슬러 올라갑니다.