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

JavaScript에서 Unix 타임스탬프를 시간으로 변환하는 방법

Unix 타임스탬프는 1970년 1월 1일 00:00:00 UTC부터 경과한 초를 나타내는 값입니다. 이 값을 사람이 읽을 수 있는 시간 형식으로 변환하려면 JavaScript의 Date 객체를 활용할 수 있습니다.

핵심 포인트: 밀리초 단위로 변환하기

JavaScript의 Date 객체는 기본적으로 밀리초(millisecond) 단위를 사용합니다. 반면 Unix 타임스탬프는 초(second) 단위이므로, 변환 시 반드시 1000을 곱해야 합니다.

예제 코드

다음은 Unix 타임스탬프를 '시:분:초' 형식으로 변환하는 전체 코드입니다.

<html>
   <head>
      <title>JavaScript Dates</title>
   </head>
   <body>
      <script>
         var unix_time = 1514791901;
         // 초 단위 타임스탬프에 1000을 곱해 밀리초로 변환
         var date = new Date(unix_time * 1000);

         // 시(hour) 구하기
         var hrs = date.getHours();

         // 분(minute) 구하기
         var min = "0" + date.getMinutes();

         // 초(second) 구하기
         var sec = "0" + date.getSeconds();

         document.write("Time- " + hrs + ":" + min.substr(-2) + ":" + sec.substr(-2));
      </script>
   </body>
</html>

실행 결과

Time- 13:01:41

코드 설명

1. 타임스탬프 변환
new Date(unix_time * 1000) — 초 단위 타임스탬프에 1000을 곱하여 밀리초 단위로 만든 후 Date 객체를 생성합니다.

2. 시간 요소 추출
getHours(), getMinutes(), getSeconds() 메서드를 사용해 각각 시, 분, 초 값을 가져옵니다.

3. 두 자릿수 포맷팅
분과 초 앞에 문자열 "0"을 붙인 뒤 substr(-2)로 마지막 두 자리만 잘라냅니다. 이렇게 하면 5분이 아닌 05분처럼 항상 두 자릿수로 표시됩니다.

참고 사항

getHours() 등의 메서드는 사용자의 현지 시간대(local timezone)를 기준으로 값을 반환합니다. UTC 기준 시간이 필요하다면 getUTCHours(), getUTCMinutes(), getUTCSeconds() 메서드를 대신 사용하세요.