JavaScript의 Date 객체는 언어에 기본 내장된 데이터 타입으로, 날짜와 시간 정보를 손쉽게 다룰 수 있게 해 줍니다. Date 객체는 new Date() 생성자를 통해 아래와 같이 생성합니다.
var dateObj = new Date();
Date 객체가 생성되면 다양한 메서드를 통해 객체를 조작할 수 있습니다. 대부분의 메서드는 객체가 담고 있는 연도, 월, 일, 시, 분, 초, 밀리초 필드를 현지 시간(Local Time) 또는 UTC(협정 세계시, GMT) 기준으로 읽어 오거나 설정하는 역할을 합니다.
setUTCSeconds() 메서드는 초를 나타내는 정수를 인수로 받아, 현재 Date 객체의 초 값을 UTC 기준으로 새 값으로 교체합니다.
문법(Syntax)
dateObj.setUTCSeconds(secondsValue);
- secondsValue: 설정할 초를 나타내는 정수입니다. 일반적으로 0~59 사이의 값을 사용하며, 범위를 벗어나는 값이 전달되면 분·시간 등 상위 단위가 자동으로 조정됩니다.
- 선택적으로 두 번째 인수로 밀리초(msValue)를 함께 전달할 수도 있습니다.
예제 1: 초 값 변경하기
다음 예제는 기존 Date 객체의 초 값을 setUTCSeconds()로 변경하는 과정을 보여 줍니다.
<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.setUTCSeconds(34);
document.write("Date after setting new seconds: "+dateObj.toUTCString());
</script>
</body>
</html>실행 결과
Current date: Tue, 26 Sep 1989 06:34:25 GMT Date after setting new seconds: Tue, 26 Sep 1989 06:34:34 GMT
초 값이 25에서 34로 바뀐 것을 확인할 수 있습니다.
예제 2: 생성 시 초를 지정하지 않은 경우
Date 객체를 생성할 때 초를 명시하지 않았더라도, 이후 setUTCSeconds() 메서드를 사용해 원하는 초 값을 자유롭게 설정할 수 있습니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var dateObj = new Date('26, September, 1989 4:25');
dateObj.setUTCSeconds(55);
document.write(dateObj.toString());
</script>
</body>
</html>실행 결과
Tue Sep 26 1989 04:25:55 GMT+0530 (India Standard Time)
예제 3: 현재 시간 기준으로 초 설정하기
생성자에 아무 값도 전달하지 않고 Date 객체를 만든 경우에도 setUTCSeconds()로 초를 설정할 수 있습니다. 이때 월, 일, 연도를 비롯한 나머지 시간 값은 현재 날짜(시간) 그대로 유지되며 초 값만 변경됩니다.
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var dateObj = new Date(); dateObj.setUTCSeconds(55); document.write(dateObj.toString()); </script> </body> </html>
실행 결과
Thu Oct 18 2018 18:44:55 GMT+0530 (India Standard Time)
setSeconds()와의 차이점
setSeconds()는 현지 시간 기준으로 초를 설정하는 반면, setUTCSeconds()는 UTC 기준으로 초를 설정합니다. 한국(KST, UTC+9)처럼 UTC와 시차가 있는 환경에서는 두 메서드의 동작 결과가 달라질 수 있으므로, 어떤 시간 기준으로 작업하는지에 따라 적절한 메서드를 선택하는 것이 중요합니다.