Menu

Unix 타임스탬프 변환기

Unix 타임스탬프, ISO 8601, UTC, 로컬 시간을 상호 변환.

마지막 업데이트

단위
현재
입력유효한 타임스탬프
출력값을 클릭해 복사
  • Unix (초)1777239982
  • Unix (밀리초)1777239982000
  • ISO 8601 (UTC)2026-04-26T21:46:22.000Z
  • 로컬2026-04-26 21:46:22
  • UTCSun, 26 Apr 2026 21:46:22 GMT
  • 상대

Unix 타임스탬프 변환기란?

Unix 타임스탬프 변환기는 *epoch 시간* — 어떤 한 순간을 나타내는 단일 숫자 — 을 사람이 읽을 수 있는 날짜로 바꿔주고, 반대로 날짜를 다시 타임스탬프로 변환해 줍니다. 개발하다 보면 타임스탬프는 어디에나 있습니다. DB 컬럼, 로그 한 줄, API 응답, 분석 이벤트, JWT의 exp 클레임, 스케줄러 트리거, 캐시 만료 헤더까지요.

원리는 단순합니다. 컴퓨터는 시간을 숫자(1970-01-01 00:00:00 UTC 이후 경과한 초 또는 밀리초)로 저장하지만, 사람은 달력과 타임존, 그리고 읽기 좋은 형식이 필요합니다. 이 둘을 오가는 변환은 웹·모바일 앱 디버깅에서 가장 자주 마주치는 작업 중 하나입니다.

가장 헷갈리는 건 *단위*입니다. POSIX와 대부분의 백엔드 언어는 초를 씁니다. 반면 JavaScript, Java, 그리고 많은 메시지 브로커는 밀리초를 씁니다. 어떤 메트릭 시스템은 마이크로초나 나노초까지 갑니다. 자릿수가 10자리면 거의 확실히 초, 13자리면 거의 확실히 밀리초라고 보면 됩니다.

타임스탬프를 변환하면서 배우게 되는 것

  • Unix 타임스탬프는 Unix epoch(1970-01-01 00:00:00 UTC) 이후의 *초* 또는 *밀리초* 단위로 시간을 표현합니다.
  • UTC는 고정된 기준점입니다. 로컬 시간은 사용자의 타임존, 서머타임 규칙, 그리고 기기의 시계 설정에 따라 달라집니다.
  • ISO 8601(2026-04-25T12:00:00Z)은 어디서든 통하는 텍스트 형식입니다. 끝의 Z(또는 +00:00)는 UTC를 의미하고, +02:00 같은 오프셋은 UTC보다 2시간 빠른 로컬 시간이라는 뜻입니다.

Unix 타임스탬프 변환, 단계별로 따라하기

  1. 값 붙여넣기

    숫자(초 또는 밀리초)나 날짜 문자열을 그대로 붙여넣으세요. 변환기가 자릿수와 형태를 보고 형식을 자동으로 감지합니다.

  2. 단위 확인하기

    자동 감지가 빗나갔다면 초/밀리초 토글로 바꿔주세요. 10자리면 초, 13자리면 밀리초입니다.

  3. 두 가지 뷰 함께 보기

    출력에는 UTC 기준 ISO 8601, 사용자의 로컬 시간, 그리고 사람이 읽기 좋은 상대 시간(3시간 전, 2일 후)이 함께 표시됩니다.

  4. 필요한 값만 복사

    타임스탬프, ISO 문자열, 로컬 시간 중 원하는 것만 바로 복사할 수 있습니다. JWT exp 채울 때, DB 행에 넣을 때, 로그 쿼리 작성할 때 유용합니다.

타임스탬프 형식 한눈에 보기

코드에서 날짜·시간을 다룰 때 가장 자주 마주치는 형식들입니다. ISO 8601은 IETF의 RFC 3339로도 표준화되어 프로토콜에서 널리 쓰입니다.

형식예시주로 쓰이는 곳
Unix 초1777118400백엔드 로그, JWT exp, POSIX time(), Redis
Unix 밀리초1777118400000JavaScript Date.now(), Java System.currentTimeMillis()
ISO 8601 UTC2026-04-25T12:00:00ZREST API, JSON, GraphQL, 로그 파일
오프셋 포함 ISO 86012026-04-25T14:00:00+02:00사용자에게 보여주는 일정, 캘린더 초대
RFC 2822Sat, 25 Apr 2026 12:00:00 GMT이메일 헤더, HTTP Date·Last-Modified
날짜만2026-04-25생일, 공휴일 — 타임존 의미 없음

직접 해볼 만한 타임스탬프 예제

초 vs 밀리초

초 (10자리)

1777118400

밀리초 (13자리)

1777118400000

앞 값을 초로, 뒤 값을 밀리초로 해석하면 둘은 정확히 같은 순간을 가리킵니다. 이 둘을 헷갈려서 생기는 버그가 타임스탬프 관련 버그 중 단연 1위입니다.

API 응답의 타임스탬프 읽기

응답
{  "id": 42,  "createdAt": 1777118400,  "expiresAt": 1777204800}

이 값이 과거인지 미래인지 추측하기 전에 일단 변환부터 해보세요. 대부분의 JSON API는 Unix 초를 쓰지만, 항상 문서를 확인하는 게 안전합니다. JavaScript 기반 백엔드는 종종 밀리초로 내려보냅니다.

UTC와 로컬 시간 비교

UTC

2026-04-25T12:00:00Z

동일 시각, +02:00

2026-04-25T14:00:00+02:00

두 문자열은 *같은 순간*을 표현합니다. 데이터는 항상 UTC로 저장하고, 화면에 보여줄 때만 로컬 시간으로 변환하는 습관을 들이세요.

자주 하는 타임스탬프 실수

  • 초와 밀리초를 섞어 쓰기. 1000배 차이는 날짜를 수십 년씩 옮겨놓습니다 — 1700000000을 초로 읽으면 2023년 11월이지만, 밀리초로 읽으면 1970년 1월이 됩니다.
  • 타임존 정보 없는 날짜 문자열을 저장하기. 시스템마다 해석이 달라집니다 — 어떤 곳은 UTC로, 어떤 곳은 서버의 로컬 타임존으로 받아들이거든요.
  • 타임스탬프 대신 포맷된 날짜 문자열('2026-04-25')로 비교하기. 같은 순간을 표현하는 ISO 문자열도 형식이 다르면 다르게 보입니다.

Unix 타임스탬프 FAQ

Unix 타임스탬프가 뭔가요?
Unix 타임스탬프(epoch 시간이라고도 합니다)는 1970-01-01 00:00:00 UTC 이후 경과한 시간을 초(또는 밀리초) 단위 숫자로 나타낸 값입니다. 타임존과 무관하게 특정 순간을 단 하나의 숫자로 표현할 수 있습니다.
왜 어떤 타임스탬프는 10자리이고 어떤 건 13자리인가요?
10자리 Unix 타임스탬프는 초 단위, 13자리는 밀리초 단위입니다. JavaScript의 Date.now()는 밀리초를 반환하고, 대부분의 백엔드는 초를 반환합니다.
UTC가 무슨 뜻인가요?
UTC는 협정 세계시(Coordinated Universal Time)의 약자입니다. 전 세계 표준 시간 기준이며 서머타임을 적용하지 않습니다. DB·API·로그에 시간을 저장할 때는 가급적 UTC를 쓰는 게 정석입니다.
JavaScript는 왜 밀리초를 쓰나요?
JavaScript의 Date 객체는 Unix epoch 이후의 밀리초 값으로 시간을 저장합니다 — Date.now()new Date().getTime()이 그 값을 그대로 돌려주죠. 초보다 정밀하지만, 다른 언어와 주고받을 때 1000배 차이로 인한 버그를 자주 일으킵니다.
Unix 타임스탬프를 날짜로 어떻게 바꾸나요?
JavaScript에서는 (초라면 1000을 곱한 뒤) new Date(...)에 넘기면 되고, Python에서는 datetime.fromtimestamp(...)를 쓰면 됩니다. 아니면 그냥 Unix 타임스탬프 변환기에 붙여넣어 클릭 한 번으로 끝낼 수도 있고요.
Unix 타임스탬프도 오버플로가 발생하나요?
부호 있는 32비트 Unix 타임스탬프는 2038-01-19에 오버플로됩니다 — 이른바 2038년 문제죠. 다만 요즘 언어와 DB는 64비트 정수로 저장하기 때문에, 안전한 표현 범위가 수천억 년 단위로 늘어납니다.

자세히 알아보기

다른 개발자 도구

Coddy로 코딩 배우기

시작하기