JavaScript에서 현재 시간을 초 단위로 변환하려면 먼저 Date 객체를 사용해 현재 시각을 구해야 합니다. 이후 아래 공식처럼 시간(hours)에 3600을 곱하고, 분(minutes)에 60을 곱한 뒤 초(seconds)를 더하면 됩니다.
(hours * 3600) + (min * 60) + sec
예제
다음 코드를 실행하면 현재 시간을 초 단위로 확인할 수 있습니다. getHours(), getMinutes(), getSeconds() 메서드를 사용해 각각 시, 분, 초 값을 가져온 후 위 공식에 대입합니다.
<html>
<head>
<title>JavaScript Get Seconds</title>
</head>
<body>
<script>
var dt = new Date();
var sec = dt.getSeconds();
document.write("Seconds: " + sec);
var min = dt.getMinutes();
document.write("<br>Minutes: " + min);
var hrs = dt.getHours();
document.write("<br>Hours: " + hrs);
var total_seconds = (hrs*3600) + (min*60) + sec;
document.write("<br>Total seconds: " + total_seconds);
</script>
</body>
</html>실행 결과
오전 9시 37분 35초에 실행했다면 다음과 같이 출력됩니다.
Seconds: 35 Minutes: 37 Hours: 9 Total seconds: 34655
참고 사항
위 방식은 자정(00:00)부터 경과한 시간을 초로 계산하는 것으로, 하루 기준(0~86399초)의 값이 나옵니다. 만약 유닉스 타임스탬프(Unix Timestamp)처럼 1970년 1월 1일 이후 경과 시간을 초 단위로 얻고 싶다면 Math.floor(Date.now() / 1000)을 사용하는 것이 더 간단합니다.