Unix Timestamp 변환기

Unix 타임스탬프(Epoch Time)와 날짜/시간을 상호 변환합니다. 초 단위와 밀리초 단위를 모두 지원합니다.

현재 시간

초 (Seconds)
-
밀리초 (Milliseconds)
-

타임스탬프 → 날짜

날짜 → 타임스탬프

Unix Timestamp 란?

Unix Timestamp (또는 Epoch Time, POSIX Time)는 1970년 1월 1일 00:00:00 UTC (Unix Epoch)부터 현재까지 경과한 시간을 초 단위로 표현한 값입니다.

시간대에 영향받지 않는 절대적인 시간 표현 방식으로, 프로그래밍과 데이터베이스에서 널리 사용됩니다. JavaScript는 밀리초 단위를 사용하고, 대부분의 Unix 시스템은 초 단위를 사용합니다.

2038년 문제: 32비트 시스템에서 Unix Timestamp는 2038년 1월 19일 03:14:07 UTC에 오버플로우됩니다. 대부분의 현대 시스템은 64비트를 사용하여 이 문제를 해결했습니다.

Unix Timestamp 변환기란?

Unix Timestamp 변환기는 컴퓨터에서 사용하는 시간 표현 방식인 Unix 타임스탬프(Epoch 시간)와 사람이 읽을 수 있는 날짜/시간 형식을 상호 변환하는 도구입니다. Unix 타임스탬프는 1970년 1월 1일 00:00:00 UTC부터 경과한 초(또는 밀리초)를 숫자로 표현한 것으로, 시간대에 독립적이고 계산이 간편하여 프로그래밍, 데이터베이스, API 통신에서 널리 사용됩니다. 서버 로그 분석, API 디버깅, 데이터 마이그레이션 등 개발 과정에서 시간 데이터를 다룰 때 필수적인 도구입니다.

이용 가이드

  1. 상단의 현재 시간 섹션에서 실시간 타임스탬프를 확인합니다.
  2. 타임스탬프를 날짜로 변환하려면 숫자를 입력하고 변환 버튼을 클릭합니다.
  3. 단위 선택기(자동, 초, 밀리초)로 형식을 지정하거나 자동 감지를 사용합니다.
  4. 날짜를 타임스탬프로 변환하려면 년/월/일/시/분/초를 입력하고 변환합니다.
  5. 시간대를 로컬 또는 UTC로 선택할 수 있습니다.
  6. 각 결과 옆의 복사 버튼으로 필요한 형식의 값을 복사합니다.

핵심 기능

  • 타임스탬프를 날짜로, 날짜를 타임스탬프로 양방향 변환
  • 초 단위(10자리)와 밀리초 단위(13자리) 자동 감지
  • 현재 시간의 실시간 타임스탬프 표시
  • 빠른 변환 버튼(현재, 0, 1B, 2B)으로 자주 쓰는 값 즉시 확인
  • ISO 8601, UTC, 로컬 시간, 상대 시간 등 다양한 출력 형식
  • 로컬 시간대와 UTC 전환 지원
  • 변환 결과를 한 번의 클릭으로 복사

이런 상황에서 유용해요

  • 서버 로그에 기록된 타임스탬프를 실제 날짜와 시간으로 확인할 때
  • REST API 응답의 created_at, updated_at 필드를 읽을 수 있는 형식으로 변환할 때
  • 데이터베이스에 저장할 날짜를 타임스탬프로 변환할 때
  • JWT 토큰의 exp(만료) 클레임 시간을 확인할 때
  • 서로 다른 시간대의 서버 간 시간 동기화 문제를 디버깅할 때
  • 크론잡이나 스케줄러의 실행 시간을 검증할 때

궁금한 점 모음

Q: Unix 타임스탬프는 왜 1970년부터 시작하나요?

Unix 운영체제가 1970년대 초에 개발되면서 편의상 1970년 1월 1일 자정(UTC)을 기준점으로 정했습니다. 이 시점을 Unix Epoch라고 부르며, 이후 거의 모든 운영체제와 프로그래밍 언어가 이 표준을 따르게 되었습니다.

Q: 초 단위와 밀리초 단위는 어떻게 구분하나요?

일반적으로 10자리 숫자는 초 단위, 13자리 숫자는 밀리초 단위입니다. 자동 감지 모드에서는 이 규칙을 따릅니다. Unix/Linux, PHP, Python은 보통 초 단위를, JavaScript(Date.now()), Java(System.currentTimeMillis())는 밀리초 단위를 사용합니다.

Q: 음수 타임스탬프는 무엇을 의미하나요?

음수 값은 1970년 1월 1일 이전의 시간을 나타냅니다. 예를 들어 -86400은 1969년 12월 31일 00:00:00 UTC입니다. 역사적 날짜를 데이터베이스에 저장하거나 계산할 때 사용되지만, 일부 시스템에서는 음수 타임스탬프를 지원하지 않을 수 있습니다.

Q: 2038년 문제(Y2K38)란 무엇인가요?

32비트 signed 정수로 타임스탬프를 저장하는 시스템에서 2038년 1월 19일 03:14:07 UTC에 최대값(2,147,483,647)에 도달하여 오버플로가 발생하는 문제입니다. 대부분의 최신 시스템은 64비트 정수를 사용하여 이 문제를 해결했으며, 수십억 년까지 표현할 수 있습니다.

Q: 시간대가 타임스탬프 변환에 어떤 영향을 미치나요?

Unix 타임스탬프 자체는 항상 UTC 기준입니다. 하지만 날짜를 타임스탬프로 변환할 때는 입력한 날짜의 시간대를 알아야 정확한 값을 얻을 수 있습니다. 서울(UTC+9)에서 오후 3시는 UTC로 오전 6시이며, 이 차이가 타임스탬프 값에 반영됩니다.

Q: ISO 8601 형식은 무엇인가요?

ISO 8601은 국제 표준 날짜/시간 표기법으로, "2024-01-15T09:30:00Z" 같은 형식입니다. T는 날짜와 시간의 구분자이고, Z는 UTC를 의미합니다. API 응답이나 로그에서 자주 사용되며, 파싱이 쉽고 시간대 정보를 포함할 수 있어 국제적 데이터 교환에 적합합니다.

Q: 프로그래밍 언어별 타임스탬프 생성 방법은?

JavaScript에서는 Date.now()(밀리초) 또는 Math.floor(Date.now()/1000)(초), Python에서는 import time; time.time()(소수점 포함 초), PHP에서는 time()(초), Java에서는 System.currentTimeMillis()(밀리초)를 사용합니다. 각 언어의 단위 차이에 주의하세요.

Q: 타임스탬프 0은 어떤 시간인가요?

타임스탬프 0은 Unix Epoch, 즉 1970년 1월 1일 00:00:00 UTC입니다. 데이터베이스에서 날짜 필드가 0이면 대부분 값이 설정되지 않았음을 의미합니다. 이 도구의 빠른 변환 버튼에서 "0"을 클릭하면 바로 확인할 수 있습니다.

Q: 윤초(Leap Second)는 타임스탬프에 반영되나요?

Unix 타임스탬프는 윤초를 무시합니다. 즉, 하루를 항상 정확히 86,400초로 계산합니다. 실제로 윤초가 삽입되면 같은 타임스탬프가 2초 동안 유지되거나 건너뛸 수 있습니다. 일반적인 웹 개발에서는 이 차이가 문제되지 않지만, 정밀 시간 동기화가 필요한 경우 NTP를 활용하세요.

Q: 이 도구는 무료인가요?

네, 완전히 무료이며 사용 횟수 제한이 없습니다. 모든 변환은 브라우저에서 처리되므로 데이터가 외부로 전송되지 않습니다.

알아두면 좋은 점

  • JavaScript의 Date.now()는 밀리초를, Python의 time.time()은 소수점 포함 초를 반환합니다. 단위를 혼동하면 1000배 차이가 납니다.
  • Unix 타임스탬프는 항상 UTC 기준입니다. 로컬 시간으로 변환할 때 시간대 오프셋을 잊지 마세요.
  • 32비트 시스템의 2038년 문제를 주의하세요. signed int32의 최대값이 2038년 1월 19일에 도달합니다.
  • API에서 받은 타임스탬프가 초인지 밀리초인지 문서를 확인하세요. 자리수로 추측하면 오류가 생길 수 있습니다.
  • 일광 절약 시간(DST)이 적용되는 지역에서는 특정 시간이 존재하지 않거나 두 번 나타날 수 있습니다.