JavaScript의 Date 객체는 언어에 기본으로 내장된 데이터 타입으로, 날짜와 시간을 다룰 때 사용됩니다. Date 객체는 new Date() 생성자를 통해 아래와 같이 생성할 수 있습니다.
Date 객체가 한 번 생성되면, 이를 조작할 수 있는 다양한 메서드들이 제공됩니다. 대부분의 메서드는 객체가 가진 연도, 월, 일, 시, 분, 초, 밀리초 필드를 현지 시간(local time) 또는 UTC(GMT) 기준으로 읽거나 설정할 수 있게 해줍니다.
그중 setSeconds() 함수는 정수로 표현된 초 값을 인수로 받아, 현재 Date 객체에 저장된 초(seconds) 값을 해당 값으로 교체하는 역할을 합니다.
문법(Syntax)
setSeconds() 메서드의 기본 문법은 다음과 같습니다.
dateObj.setSeconds();
예제 1: 기본 사용법
아래 예제에서는 Date 객체를 생성한 뒤, setSeconds() 함수를 사용해 초 값을 9로 변경합니다.
<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.setSeconds(9);
document.write("Date after setting the seconds: "+dateObj.toUTCString());
</script>
</body>
</html>실행 결과
Current date: Mon, 25 Sep 1989 23:34:25 GMT Date after setting the seconds: Mon, 25 Sep 1989 23:34:09 GMT
출력 결과를 보면 초 값이 25에서 9로 변경된 것을 확인할 수 있습니다.
예제 2: 시간 정보 없이 생성한 객체에 초 설정하기
Date 객체를 생성할 때 시(hour) 정보를 지정하지 않았더라도, setSeconds() 함수를 사용하면 초 값을 자유롭게 설정할 수 있습니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var dateObj = new Date('26, September, 1989 4:25');
dateObj.setSeconds(55);
document.write(dateObj.toString());
</script>
</body>
</html>실행 결과
Tue Sep 26 1989 04:25:55 GMT+0530 (India Standard Time)
예제 3: 현재 시간 기준으로 초만 변경하기
마찬가지로 생성자에 아무 값도 전달하지 않고 Date 객체를 생성한 경우에도, setSeconds() 함수로 초를 설정할 수 있습니다. 이때 월, 일, 연도 등 나머지 값들은 현재 날짜와 시간을 그대로 유지합니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var dateObj = new Date();
dateObj.setSeconds(55);
document.write(dateObj.toString());
</script>
</body>
</html>실행 결과
Thu Oct 18 2018 18:44:55 GMT+0530 (India Standard Time)
정리
setSeconds() 함수는 Date 객체의 초 값을 손쉽게 변경할 수 있는 유용한 메서드입니다. 특히 타이머 구현, 로그 타임스탬프 조정, 날짜 계산 등에서 활용도가 높습니다. 참고로 setSeconds()는 선택적으로 두 번째 인수로 밀리초(ms) 값을 함께 전달할 수도 있습니다.