UNIX 타임스탬프 변환기 (온라인 유닉스 시간 계산기)

현재 UNIX 타임스탬프

밀리초

타임스탬프 → 날짜 및 시간


날짜 및 시간 → 타임스탬프

UNIX 타임스탬프 변환기 (온라인 유닉스 시간 계산기)

UNIX 타임스탬프 변환기를 사용하면 **UNIX 시간 (에포크 시간 / POSIX 시간)**을 날짜 및 시간으로, 또는 그 반대로 빠르게 변환할 수 있습니다. 초 및 밀리초 단위의 타임스탬프를 지원하며, 현지 시간, UTC, ISO 8601을 표시하고 클릭 한 번으로 결과를 복사할 수 있습니다.


UNIX 타임스탬프(Epoch Time / POSIX Time)란 무엇인가요?

UNIX 타임스탬프1970년 1월 1일 00:00:00 UTC (일명 UNIX 에포크) 이후 경과한 초 단위의 시간을 숫자로 표현한 것입니다. 실제로는 시스템, 데이터베이스, API 및 로깅에서 날짜와 시간을 저장하고 전송하는 가장 널리 사용되는 형식 중 하나입니다.

예시: 17000000002023년 11월 14일 22:13:20 UTC에 해당합니다.

왜 1970년 1월 1일인가요?

에포크의 시작점(1970-01-01)은 UNIX 설계 시 실용적인 참조점으로 선택되었습니다. 이는 시스템 개발 시기와 가까우며 간단한 시간 계산을 가능하게 합니다.


초 단위 vs. 밀리초 단위 UNIX 타임스탬프

UNIX 타임스탬프는 주로 두 가지 형태로 나타납니다:

타임스탬프 형식예시일반적인 사용처
초 (s)1700000000데이터베이스, 백엔드, API, 파일
밀리초 (ms)1700000000000JavaScript (Date.now()), 분석, 상세 로그

가지고 있는 타임스탬프가 어떤 형식인지 어떻게 알 수 있나요?

  • 초 단위는 현재 날짜의 경우 일반적으로 10자리 숫자입니다.
  • 밀리초 단위는 일반적으로 13자리 숫자이며, 약 1000배 더 큽니다.
  • 대략적으로: 값이 10¹²보다 크면, 거의 확실히 밀리초입니다.

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

1) 타임스탬프 → 날짜 및 시간

  1. UNIX 타임스탬프를 입력 필드에 붙여넣거나 지금 (현재 UNIX 시간) 버튼을 클릭하세요.
  2. 타임스탬프가 밀리초 단위인 경우, 밀리초 사용 옵션을 활성화하세요.
  3. 변환 버튼을 클릭하세요 (또는 Enter 키를 누르세요).
  4. 현지 시간, UTC, ISO 8601 형식으로 변환된 결과가 표시됩니다.
  5. 결과를 클릭하면 클립보드에 복사됩니다.

2) 날짜 및 시간 → 타임스탬프

  1. 양식에서 날짜 및 시간을 선택하세요.
  2. 변환 버튼을 클릭하세요.
  3. 결과는 초 및 밀리초 단위의 타임스탬프로 제공됩니다.

UNIX 타임스탬프는 어디에서 가장 자주 사용되나요?

IT 분야에서 시간을 다루는 거의 모든 곳에서 UNIX 시간을 접할 수 있습니다:

  • 데이터베이스 – MySQL, PostgreSQL, SQLite 등에서 시간 저장 및 비교.
  • API – REST/GraphQL은 종종 타임스탬프를 시간으로 반환합니다 (쉬운 직렬화).
  • 로그 및 모니터링 – 시간별 이벤트의 정확한 정렬.
  • Git – 커밋에는 시간 정보가 포함됩니다.
  • 파일 시스템 – mtime/ctime/atime (최종 수정 시간 등)과 같은 시간.
  • JWTiat (발급 시간) 및 exp (만료 시간) 클레임은 일반적으로 에포크 초 단위입니다.
  • Linux/Unix 셸date +%s는 현재 타임스탬프를 반환합니다.
  • JavaScriptDate.now()밀리초 단위로 시간을 반환합니다.

UNIX 시간 변환 실용 예제

JavaScript (타임스탬프 ↔ 날짜)

// 현재 초 단위 UNIX 타임스탬프
const tsSeconds = Math.floor(Date.now() / 1000);

// 현재 밀리초 단위 타임스탬프
const tsMs = Date.now();

// 타임스탬프 (초) -> 날짜
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());

// 날짜 -> 타임스탬프 (초)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);

Python (타임스탬프 ↔ datetime)

import time
from datetime import datetime, timezone

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

# 타임스탬프 -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)

# 날짜 -> 타임스탬프
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())

SQL (MySQL)

-- 현재 UNIX 타임스탬프 (초)
SELECT UNIX_TIMESTAMP();

-- 타임스탬프 -> 날짜
SELECT FROM_UNIXTIME(1700000000);

-- 날짜 -> 타임스탬프
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

시간대: UTC, 현지 시간 및 ISO 8601

UNIX 타임스탬프는 항상 UTC입니다. – 시간대나 서머타임 정보가 포함되어 있지 않습니다. 현지 시간으로의 변환은 브라우저, 서버 또는 사용되는 라이브러리 설정에 따라 달라집니다.

알아두면 유용한 용어:

  • UTC – 서머타임이 없는 전역 표준 시간.
  • GMT – 일반적인 사용에서 UTC와 거의 동일합니다.
  • 오프셋 – UTC와의 시차 (예: 서울 UTC+9).

UNIX 타임스탬프의 한계 및 2038년 문제

2038년 문제 (Year 2038 Problem)

일부 32비트 시스템에서는 타임스탬프가 int32로 저장되며 최대값은 2,147,483,647입니다. 이는 2038년 1월 19일 03:14:07 UTC에 해당합니다. 이 값을 초과하면 오버플로우가 발생하여 시간이 잘못 표시될 수 있습니다. 최신 64비트 시스템은 일반적으로 이 문제가 없습니다.

64비트 UNIX 시간의 범위

64비트 값은 매우 광범위한 기간 (실제로는 “영원히”)을 커버합니다. 음수 값은 1970년 1월 1일 이전의 날짜를 의미합니다.


FAQ – UNIX 타임스탬프에 대한 자주 묻는 질문

UNIX 타임스탬프는 UTC인가요, 아니면 현지 시간인가요? UNIX 타임스탬프는 항상 UTC입니다. 현지 시간은 시간대에 따라 변환될 때 생성됩니다. 따라서 변환기는 일반적으로 UTC와 현지 시간을 모두 표시합니다.
타임스탬프가 초 단위인지 밀리초 단위인지 어떻게 알 수 있나요? 현재 시간의 경우 초 단위 타임스탬프는 일반적으로 10자리 숫자입니다. 밀리초 단위13자리 숫자이며, 대략 1000배 더 큽니다. 대략적으로: 값이 > 10¹²이면 밀리초 단위일 가능성이 높습니다.
음수 UNIX 타임스탬프는 무엇을 의미하나요? 음수 타임스탬프는 1970년 1월 1일 이전의 날짜를 나타냅니다. 예를 들어, -11969년 12월 31일 23:59:59 UTC에 해당합니다.
SQL에서 UNIX 타임스탬프를 어떻게 변환하나요? MySQL에서는 FROM_UNIXTIME(timestamp)를 사용하여 타임스탬프를 날짜로 변환하고, UNIX_TIMESTAMP(date)를 사용하여 날짜를 타임스탬프로 변환합니다. PostgreSQL에서는 일반적으로 TO_TIMESTAMP(timestamp)EXTRACT(EPOCH FROM date)를 사용합니다.
UNIX 에포크가 1970년 1월 1일에 시작하는 이유는 무엇인가요? 이는 초기 UNIX 시절부터 역사적으로 선택된 참조점입니다. 간단하고 실용적이며 시스템 개발 시기와 가깝기 때문입니다.