WebToolBox

유닉스 타임스탬프 변환

WebToolBox에서 제공하는 무료 날짜/시간 도구인 유닉스 타임스탬프 변환 기능을 브라우저에서 바로 사용해 보세요. 복잡한 설치 없이 빠르고 안전하게 작업을 처리할 수 있습니다.

유닉스 -> ISO

유닉스 타임스탬프(Unix Timestamp)의 개념과 에포크(Epoch)

유닉스 타임스탬프(Unix Timestamp, 또는 POSIX Time)는 1970년 1월 1일 00:00:00 협정 세계시(UTC)를 기점(Epoch)으로 현재까지 경과한 시간을 '초(Seconds)' 또는 '밀리초(Milliseconds)' 단위 정수로 환산한 값입니다.

서로 다른 국가의 표준 시간대(Timezone)나 서머타임(Daylight Saving Time)의 영향을 받지 않는 전 세계 공통의 절대 시간 지표이므로, 데이터베이스 레코드의 생성/수정 일시, JWT 토큰 만료 시간(exp), 로그 분석, 캐시 만료 정책 등 컴퓨터 시스템 전반의 시간 표준으로 사용됩니다.

초 단위 타임스탬프는 대개 10자리 정수이며, 고정밀 연산이 필요한 웹 브라우저나 최신 프로그래밍 언어에서는 13자리 밀리초(ms) 단위를 널리 채택하고 있습니다.

입출력 예시 (Examples)

입력 (Input)결과 (Output)설명
01970-01-01 00:00:00 UTC유닉스 에포크의 시작점
17000000002023-11-14 22:13:20 UTC (한국시간 2023-11-15 07:13:20 KST)10자리 초 단위 타임스탬프 변환
17000000000002023-11-14 22:13:20.000 UTC13자리 밀리초 단위 타임스탬프 변환

시간 단위별 타임스탬프 자릿수 및 용도 비교

시간 단위자릿수형식 예시주요 활용 기술 및 플랫폼
초 (Seconds)10자리1700000000Unix 커널, Linux 시스템 시간, Python time.time(), JWT exp 클레임
밀리초 (Milliseconds)13자리1700000000000JavaScript Date.now(), Java System.currentTimeMillis()
마이크로초 (Microseconds)16자리1700000000000000고정밀 분산 로그, PostgreSQL microsecond 타임스탬프
나노초 (Nanoseconds)19자리1700000000000000000Go time.Now().UnixNano(), 고성능 금융 거래 체결 시스템

유닉스 타임스탬프 변환기 사용 방법

  1. 상단 입력창에 변환하고자 하는 타임스탬프 숫자(10자리 또는 13자리)를 입력합니다.
  2. 날짜를 타임스탬프로 변환하려면 달력 및 시계 선택기를 통해 원하는 일시를 선택합니다.
  3. 실시간으로 협정 세계시(UTC)와 한국 표준시(KST, UTC+9) 및 로컬 시간대가 동시 계산됩니다.
  4. '현재 시간' 버튼을 클릭하면 지금 이 순간의 최신 실시간 타임스탬프를 즉시 확인할 수 있습니다.

개발자를 위한 시간 처리 실무 팁

  • 10자리 vs 13자리 주의: 10자리(초) 타임스탬프를 자바스크립트 `new Date(ts)`에 그대로 넣으면 1970년 1월로 잘못 계산됩니다. 자바스크립트에서는 반드시 1,000을 곱해 밀리초로 넘겨야 합니다.
  • 2038년 문제(Year 2038 Problem): 32비트 부호 있는 정수로 타임스탬프를 저장할 경우 2038년 1월 19일 03:14:07 UTC에 오버플로가 발생합니다. 최신 DB와 시스템에서는 반드시 64비트 정수(BIGINT)를 사용해야 합니다.
  • DB 저장 시 UTC 원칙: 데이터베이스에는 항상 UTC 기준 타임스탬프로 저장하고, 사용자 화면에 표시할 때만 사용자의 브라우저 로컬 시간대로 포맷팅하는 것이 원칙입니다.

프로그래밍 언어별 사용 예제 (Code Examples)

JavaScript / TypeScriptjavascript
// 현재 타임스탬프 구하기
const sec = Math.floor(Date.now() / 1000); // 10자리 초
const ms = Date.now(); // 13자리 밀리초

// 타임스탬프를 사람이 읽는 날짜로 변환
const date = new Date(sec * 1000);
console.log(date.toISOString()); // 2023-11-14T22:13:20.000Z
Python 3python
import time
from datetime import datetime, timezone

# 현재 초 단위 타임스탬프
current_sec = int(time.time())

# 타임스탬프를 UTC 날짜로 변환
dt = datetime.fromtimestamp(current_sec, tz=timezone.utc)
print(dt.strftime('%Y-%m-%d %H:%M:%S UTC'))

FAQ (자주 묻는 질문)

유닉스 타임스탬프에서 타임존(시간대)은 어떻게 반영되나요?
유닉스 타임스탬프 자체는 전 세계 어디서나 동일한 UTC 0시 기준의 절대값입니다. 서울(KST, UTC+9)이든 뉴욕(EST, UTC-5)이든 동일한 순간에는 같은 타임스탬프를 가지며, 화면에 표기할 때 오프셋(+9시간 등)을 더해 표시합니다.
10자리 숫자와 13자리 숫자는 어떻게 구분하나요?
현재 연도 기준으로 10자리는 초(Seconds) 단위이며, 13자리는 밀리초(Milliseconds) 단위입니다. 예를 들어 17억 대 숫자는 초 단위이며, 1조 7천억 대 숫자는 밀리초 단위입니다.
2038년 문제(Y2K38)는 이미 해결되었나요?
64비트 운영체제와 최신 프로그래밍 언어, 64비트 데이터베이스에서는 이미 해결되었습니다. 64비트 타임스탬프는 앞으로 약 2,920억 년 동안 안전합니다.
윤초(Leap Second)는 타임스탬프에 어떻게 적용되나요?
POSIX 표준에 따라 유닉스 타임스탬프는 하루를 정확히 86,400초로 고정하여 처리합니다. 윤초가 발생할 때는 마지막 초를 반복하거나 시간 드리프트(Smearing) 방식으로 보정합니다.
음수(-) 타임스탬프도 존재하나요?
네, 1970년 1월 1일 UTC 이전의 날짜는 음수 타임스탬프로 표현됩니다. 예를 들어 -86400은 1969년 12월 31일 00:00:00 UTC를 가리킵니다.

날짜/시간 — 도구 목록