Unix 타임스탬프란?
Unix 타임스탬프(Unix Time, Epoch Time)는 1970년 1월 1일 00:00:00 UTC를 기준점(epoch)으로 그 이후 흐른 초의 개수로 시각을 표현하는 방식입니다. 전 세계 어떤 시간대·달력에 상관없이 단 하나의 숫자로 시각을 표현할 수 있어데이터베이스, REST API, 로그 파일, JWT, 쿠키 만료, 캐시 무효화 등 모든 컴퓨터 시스템에서 시각의 표준 형식으로 사용됩니다. 본 도구는 초 단위와 밀리초 단위 두 가지를 모두 지원하고, 현재 시각, 하루 시작/끝(00:00:00, 23:59:59), 미래 +1·+7·+30일 같은 자주 쓰이는 값을 한 번의 클릭으로 입력할 수 있습니다. 모든 변환은 브라우저에서 처리되어 빠르게 동작하며 외부로 전송되지 않습니다.
초 vs 밀리초 — 어느 것을 써야 할까?
| 단위 | 예시 | 사용처 |
|---|---|---|
| 초 (10자리) | 1700000000 | Unix·Linux 시스템, PHP, Python time(), MySQL UNIX_TIMESTAMP |
| 밀리초 (13자리) | 1700000000000 | JavaScript Date.now(), Java System.currentTimeMillis() |
※ 자릿수로 구분: 10자리는 초, 13자리는 밀리초. 1초 = 1000밀리초.
왜 1970년 1월 1일이 기준일까?
1970년 1월 1일이 Unix epoch로 정해진 이유는 단순합니다. Unix 운영체제가 1970년대 초에 개발되었기 때문입니다. 당시 개발자들은 가장 가까운 새해 자정을 기준점으로 잡았고, 이후 모든 Unix 시스템과 그 후예들(Linux, macOS, BSD)이 이 표준을 따르게 되었습니다. 32비트 시스템에서는 2038년 1월 19일이 되면 표현할 수 있는 최대값(약 21억 4천만 초)을 넘어 오버플로우가 발생하는데, 이를 Y2K38 문제(2038년 문제)라고 합니다. 현재는 대부분의 시스템이 64비트로 전환되어 약 2,920억 년까지 표현 가능합니다.
자주 묻는 질문 (FAQ)
Q. 시간대(timezone)는 어떻게 처리되나요?
A. Unix 타임스탬프 자체는 UTC 기준이라 시간대가 없습니다. 본 도구는 사용자 브라우저의 로컬 시간대(보통 KST, UTC+9)로 날짜를 표시합니다. 다른 시간대로 보고 싶으면 별도 변환이 필요합니다.
Q. 개발자가 가장 많이 쓰는 상황은?
A. JWT 만료 시간(exp 클레임), 쿠키·캐시 만료, 데이터베이스 createdAt/updatedAt 디버깅, 로그 분석에서 시각 비교, API 응답의 timestamp 필드 해석 등에 매일 사용됩니다.
Q. 음수 타임스탬프도 가능한가요?
A. 네. 음수 타임스탬프는 1970년 이전 날짜를 의미합니다. 예: -1000000000은 약 1938년 4월 24일. 다만 일부 구형 시스템에서는 음수를 지원하지 않으니 주의하세요.
Q. 자정 기준 시간을 어떻게 빨리 구하나요?
A. 본 도구의 "오늘 시작" 버튼을 누르면 오늘 00:00:00 KST의 타임스탬프가 즉시 입력됩니다. "오늘 끝"은 23:59:59 입니다.
Q. 입력값이 외부로 전송되나요?
A. 아니요. 모든 변환은 브라우저에서 수행되며 외부 서버로 전송되지 않습니다.