타임스탬프 변환기
Unix 타임스탬프와 날짜/시간을 상호 변환합니다.
현재 Unix 타임스탬프
0
타임스탬프 → 날짜 변환
날짜 → 타임스탬프 변환
타임스탬프 변환기 — Unix Epoch와 날짜를 즉시 상호 변환
Unix 타임스탬프(Epoch Time)는 1970년 1월 1일 00:00:00 UTC를 기점(Epoch)으로 경과한 초 수를 나타내는 정수입니다. 시간대와 무관하게 전 세계 어디서나 동일한 시점을 하나의 숫자로 표현할 수 있어, 운영체제 커널, 프로그래밍 언어, 데이터베이스, API에서 날짜/시간을 저장·교환하는 사실상의 표준입니다. 예를 들어 Unix 타임스탬프 1713456000은 2024-04-19T00:00:00Z(UTC)에 해당합니다.
초(seconds) vs 밀리초(milliseconds)
| 단위 | 자릿수 | 사용 환경 | 예시 값 |
|---|---|---|---|
| 초 (s) | 10자리 | C time(), Python time.time(), Unix date +%s | 1713456000 |
| 밀리초 (ms) | 13자리 | JS Date.now(), Java currentTimeMillis() | 1713456000000 |
| 마이크로초 (μs) | 16자리 | PostgreSQL, Go time.UnixMicro() | 1713456000000000 |
| 나노초 (ns) | 19자리 | Go time.UnixNano(), Rust SystemTime | 1713456000000000000 |
이 도구는 입력된 숫자가 10자리 이하면 초, 그 이상이면 밀리초로 자동 판별합니다. API 연동 시 초/밀리초 단위 혼동은 매우 흔한 버그 원인입니다. 예를 들어 밀리초 값을 초로 해석하면 날짜가 수만 년 후로 표시되고, 반대의 경우 1970년 1월로 돌아갑니다.
ISO 8601과 타임존
ISO 8601은 날짜와 시간을 국제적으로 표기하는 표준(예: 2024-04-19T09:00:00+09:00)으로, RFC 3339은 이를 인터넷 환경에 맞게 프로파일링한 규격입니다. Unix 타임스탬프는 항상 UTC 기준이므로 한국 시간(KST, UTC+9)으로 변환하려면 9시간(32,400초)을 더해야 합니다. 이 도구는 UTC, KST, ISO 8601 세 가지 형식을 동시에 출력하여 시간대 혼란을 방지합니다.
실무 활용 예시
JWT 토큰 만료 확인 — JWT payload의 exp 필드는 초 단위 타임스탬프입니다. 이 도구에 exp 값을 붙여넣으면 토큰 만료 시각을 즉시 확인할 수 있습니다.
서버 로그 분석 — Nginx access.log의 타임스탬프(예: 1713456000.123)를 사람이 읽을 수 있는 날짜로 변환하여 장애 발생 시점을 정확히 파악합니다.
데이터베이스 마이그레이션 — created_at 컬럼이 BIGINT(밀리초)로 저장된 레거시 DB를 DATETIME 컬럼으로 이관할 때, 변환 로직의 정확성을 이 도구로 샘플 검증합니다.
캐시 TTL 설정 — Redis EXPIREAT 명령에 Unix 타임스탬프(초)를 넣어야 하는데, 밀리초를 넣으면 캐시가 수천 년 후에 만료되는 버그가 발생합니다. 변환기로 미리 검증하세요.
2038년 문제 (Y2K38)
32비트 부호 있는 정수(signed int32)로 Unix 타임스탬프를 저장하면, 최대값 2,147,483,647에 해당하는 2038년 1월 19일 03:14:07 UTC에 오버플로우가 발생합니다. 이후 값은 음수로 해석되어 1901년 12월로 돌아갑니다. 대부분의 현대 64비트 시스템과 언어(Linux 커널 5.6+, Java long, JavaScript Number)는 이 문제를 해결했지만, 임베디드 시스템이나 32비트 레거시 DB에서는 여전히 주의가 필요합니다.
자주 하는 실수
JavaScript의 new Date(timestamp)는 밀리초를 인자로 받습니다. 초 단위 값을 그대로 넣으면 1970년 1월 20일 전후로 잘못 해석됩니다. 반드시 new Date(timestamp * 1000)으로 변환하세요. 또한, 서머타임(DST)을 적용하는 지역에서는 같은 로컬 시각이 연 2회 존재할 수 있으므로 타임스탬프를 로컬 시간으로 변환할 때는 반드시 타임존 라이브러리(date-fns-tz, Luxon 등)를 사용하세요.
관련 도구
서버 IP를 확인하면서 로그를 분석할 때는 IP 주소 조회를 함께 활용하세요. 로그 텍스트의 중복 줄을 제거하려면 텍스트 정리 도구가 유용합니다.
참고 자료
- IEEE/Open Group: POSIX time — pubs.opengroup.org/onlinepubs/9699919799
- ISO 8601:2019 — Date and time format
- RFC 3339 — Date and Time on the Internet: Timestamps
- MDN: Date.now() — developer.mozilla.org