도
도구상자FREE ONLINE TOOLS
← 가이드 목록

유닉스 타임스탬프란? — 10자리·13자리와 변환법

서버 로그나 API 응답을 열어 보면 1781049600 같은 정체불명의 숫자가 시각 자리에 들어 있습니다. 이것이 유닉스 타임스탬프(Unix timestamp)입니다. 원리를 한 번 이해해 두면 로그 분석, API 디버깅, 엑셀 정리가 훨씬 수월해집니다.

타임스탬프의 원리 — 1970년 1월 1일

유닉스 타임스탬프는 1970년 1월 1일 0시 0분 0초(UTC)를 기준점(에포크, epoch)으로 삼아, 거기서부터 몇 초가 흘렀는지를 나타내는 숫자입니다.

  • 0 → 1970-01-01 00:00:00 UTC
  • 1000000000 → 2001-09-09 (10억 초)
  • 1781049600 → 2026-06-10 00:00:00 UTC

숫자 하나면 시간대·날짜 형식·언어와 무관하게 같은 순간을 가리킬 수 있어, 컴퓨터끼리 시각을 주고받는 표준처럼 쓰입니다.

타임스탬프 변환타임스탬프 ↔ 날짜를 양방향으로 즉시 변환 변환하기 →

10자리 vs 13자리 — 초와 밀리초

같은 시각인데 자릿수가 다른 두 값을 만나게 됩니다.

자릿수단위주로 쓰는 곳예시
10자리초(s)유닉스/리눅스, 서버 로그, DB1781049600
13자리밀리초(ms)JavaScript(Date.now()), Java1781049600000
변환 결과가 1970년 근처나 5만 년 뒤로 나온다면 단위가 어긋난 것입니다. 13자리를 초로 해석했거나 그 반대입니다. 1000을 곱하거나 나눠 자릿수를 맞춰 보세요.

UTC와 한국 시간(KST)의 9시간

타임스탬프는 항상 UTC(협정 세계시) 기준입니다. 한국 표준시(KST)는 UTC+9, 즉 UTC보다 9시간 빠릅니다. 타임스탬프 1781049600은 UTC로 6월 10일 0시이지만, 한국 시간으로는 6월 10일 오전 9시입니다. 해외 서비스 로그를 볼 때 "기록이 9시간 어긋난다"는 혼란의 대부분이 여기서 옵니다. 도구가 UTC를 보여주는지, 내 지역 시간을 보여주는지부터 확인하세요.

엑셀·코드에서 변환하기

  • 엑셀/구글 시트: =A1/86400 + DATE(1970,1,1) + 9/24 — 초 단위 타임스탬프를 한국 시간 날짜로. (하루 = 86,400초, 9/24가 KST 보정)
  • JavaScript: new Date(1781049600 * 1000) — 초 단위면 1000을 곱해 밀리초로.
  • Python: datetime.fromtimestamp(1781049600) — 실행 환경의 시간대로 변환됩니다.

한두 개만 빠르게 확인할 때는 타임스탬프 변환기에 붙여넣는 것이 가장 빠릅니다. 현재 시각의 타임스탬프도 바로 복사할 수 있습니다.

기억해 둘 만한 값과 단위 착각의 결과

타임스탬프 변환 도구에 넣어 얻은 값입니다.

타임스탬프(초)한국 시간(KST)UTC
01970-01-01 09:00:001970-01-01 00:00:00
1,000,000,0002001-09-09 10:46:402001-09-09 01:46:40
1,700,000,0002023-11-15 07:13:202023-11-14 22:13:20
2,000,000,0002033-05-18 12:33:202033-05-18 03:33:20
2,147,483,6472038-01-19 12:14:072038-01-19 03:14:07

17억은 한국 시간으로는 15일 아침, UTC로는 14일 밤입니다. 로그의 날짜가 하루 어긋나 보이는 흔한 이유입니다. 마지막 값은 32비트 정수의 최댓값입니다.

단위를 잘못 고르면 결과가 극단적으로 틀어집니다. 10자리 값 1700000000을 밀리초로 읽으면 1970년 1월 21일이 나오고, 13자리 값 1700000000000을 초로 읽으면 55840년이 나옵니다. 1970년 근처나 터무니없는 미래가 보이면 단위부터 의심하세요. 또 한국 날짜의 자정은 86,400의 배수가 아닙니다. 2026년 10월 3일 0시(KST)는 1,790,953,200이고, 86,400으로 나누어떨어지는 값은 오전 9시인 1,790,985,600입니다. 타임스탬프를 86,400으로 나눠 날짜별로 묶으면 UTC 날짜로 묶인다는 점을 기억하세요.

자주 묻는 질문
Q. 유닉스 타임스탬프란 무엇인가요?

1970년 1월 1일 0시(UTC)부터 지금까지 흐른 시간을 초 단위 숫자 하나로 나타낸 것입니다. 시간대·언어와 무관하게 전 세계 어디서나 같은 값이라 서버 로그, 데이터베이스, API에서 시각을 기록하는 표준처럼 쓰입니다.

Q. 10자리와 13자리 타임스탬프는 뭐가 다른가요?

10자리는 초 단위, 13자리는 밀리초(1/1000초) 단위입니다. 같은 시각이라면 13자리 값이 10자리 값의 1000배입니다. JavaScript의 Date.now()는 13자리(밀리초)를, 유닉스 date 명령과 많은 서버 로그는 10자리(초)를 사용합니다. 변환 도구에 넣을 때 자릿수가 안 맞으면 1970년이나 먼 미래로 표시되니 1000을 곱하거나 나눠 맞춰 주세요.

Q. 타임스탬프를 한국 시간으로 바꾸면 왜 9시간 차이가 나나요?

타임스탬프 자체는 UTC(협정 세계시) 기준이고, 한국 표준시(KST)는 UTC보다 9시간 빠르기 때문입니다. 예를 들어 타임스탬프가 UTC로 0시를 가리키면 한국 시간으로는 같은 날 오전 9시입니다. 변환 도구가 어느 시간대로 보여주는지(UTC인지 내 지역 시간인지)를 먼저 확인하면 헷갈리지 않습니다.

함께 보면 좋은 가이드