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

JavaScript Date.setUTCMonth() 메서드 – UTC 기준으로 월(月) 설정하기

Date 객체란?

Date 객체는 JavaScript 언어에 기본적으로 내장된 데이터 타입으로, 날짜와 시간을 다룰 때 사용합니다. Date 객체는 아래와 같이 new Date()를 통해 생성할 수 있습니다.

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

setUTCMonth() 메서드는 해당 연도의 몇 번째 달인지를 나타내는 정수를 인수로 받아, 현재 날짜의 월 값을 세계 표준시(UTC) 기준으로 교체합니다. 이때 0은 1월을 의미하며, 1은 2월, 2는 3월처럼 순서대로 매핑되고 마지막인 11은 12월을 나타냅니다.

문법(Syntax)

dateObj.setUTCMonth(monthValue);
  • monthValue: 0~11 사이의 정수로, 0은 1월, 11은 12월을 의미합니다.

예제 1: 기본 사용법

다음 예제에서는 1989년 9월 26일로 생성된 Date 객체의 월 값을 setUTCMonth()를 사용해 6(7월)으로 변경합니다.

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

실행 결과

Current date: Tue, 26 Sep 1989 06:34:25 GMT
Date after setting new month value: Wed, 26 Jul 1989 06:34:25 GMT

월 값이 6으로 변경되면서 9월(Sep)이었던 날짜가 7월(Jul)로 바뀐 것을 확인할 수 있습니다.

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

Date 객체를 생성할 때 월 정보를 지정하지 않았더라도, 이후 setUTCMonth() 메서드를 사용하면 월 값을 자유롭게 설정할 수 있습니다.

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

실행 결과

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

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

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

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

실행 결과

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

정리

setUTCMonth()는 UTC 기준으로 Date 객체의 월을 변경하는 메서드이며, 0부터 11까지의 정수를 인수로 사용합니다. 참고로 현지 시간 기준으로 월을 변경하고 싶다면 setMonth() 메서드를 사용하면 됩니다.