유닉스 타임스탬프 변환 도구

유닉스 타임스탬프(초 또는 밀리초 단위 에포크)와 사람이 읽기 쉬운 날짜를 서로 변환합니다. 여러 시간대 표시, 현재 시각 즉시 입력, 상대 시간 표시를 지원하는 개발자용 도구입니다.

유닉스 타임스탬프 기초 지식

유닉스 타임스탬프는 1970년 1월 1일 00:00:00 UTC(유닉스 에포크)를 기준으로 경과한 초 수로 날짜와 시각을 나타내는 방식입니다. 아래는 잘 알려진 타임스탬프 값과 그것이 가리키는 날짜를 정리한 표입니다.

타임스탬프(초) UTC 날짜 및 시각 비고
0 1970-01-01T00:00:00Z 유닉스 에포크(모든 타임스탬프의 시작점)
1000000000 2001-09-09T01:46:40Z 타임스탬프가 10억 초에 도달한 순간(유닉스 빌레니엄)
1234567890 2009-02-13T23:31:30Z 숫자 1부터 9까지 순서대로 나열되어 화제가 된 값
2147483647 2038-01-19T03:14:07Z 2038년 문제: 부호 있는 32비트 정수의 최댓값(1초 후 오버플로가 발생)

사용 팁

  • 10자리 숫자는 대체로 초 단위이고, 13자리 숫자는 대체로 밀리초 단위입니다. "자동 감지"를 선택하면 자릿수로 단위를 자동으로 추측합니다.
  • 서버 로그나 API 응답의 타임스탬프를 그대로 붙여넣으면 여러 시간대에서의 대응 시각을 한 번에 확인할 수 있습니다.
  • 날짜를 타임스탬프로 변환할 때는 입력한 날짜와 시각이 어느 시간대의 시각인지 반드시 명시적으로 선택해야 합니다.
  • ISO 8601(UTC) 형식은 대부분의 프로그래밍 언어와 데이터베이스가 그대로 파싱할 수 있어 로그 검색이나 API 설계 시 참고값으로 유용합니다.
  • "현재 시각 입력" 버튼을 누르면 브라우저의 Date.now()에서 가져온 현재 시각이 즉시 입력란에 반영됩니다.

자주 묻는 질문

유닉스 타임스탬프(에포크 시간)는 1970년 1월 1일 00:00:00 UTC(유닉스 에포크)를 기준으로 경과한 초 수로 날짜와 시각을 표현하는 방식입니다. 시간대에 의존하지 않는 단일 숫자로 특정 순간을 표현할 수 있어 서버 로그, 데이터베이스, API 등 컴퓨터 간에 날짜와 시각을 주고받는 표준적인 방법으로 널리 사용됩니다.

2038년 문제란 유닉스 타임스탬프를 부호 있는 32비트 정수로 저장하는 시스템이 2038년 1월 19일 03:14:07 UTC(최댓값 2,147,483,647초)의 1초 뒤에 오버플로를 일으켜 표현되는 날짜가 1901년 무렵으로 되돌아가는 문제를 말합니다. 대부분의 현대 시스템은 64비트 정수를 사용하므로 영향을 받지 않지만, 임베디드 기기나 오래된 시스템에서는 여전히 주의가 필요합니다.

현재 시대(2020년대~2030년대)를 나타내는 타임스탬프는 초 단위라면 대체로 10자리, 밀리초 단위라면 대체로 13자리가 됩니다. 이 도구의 "자동 감지" 모드는 이러한 자릿수 차이를 이용해 단위를 추측하지만, 확실히 확인하려면 원본 데이터의 사양서나 API 문서를 참고하는 것이 가장 정확합니다.

명확하게 문서화된 단일한 이유는 없지만, 유닉스 자체가 1969~1970년경 개발되었고 당시 컴퓨터의 메모리 제약상 다루기 좋은 딱 떨어지는 연도로 선택되었다는 설이 일반적입니다. 이 날짜는 "유닉스 에포크"라고 불리며 이후 거의 모든 프로그래밍 언어와 운영체제에서 사실상의 표준으로 자리 잡았습니다.

음수 값은 1970년 1월 1일 이전의 날짜와 시각을 나타냅니다. 예를 들어 타임스탬프 -86400은 1969년 12월 31일 00:00:00 UTC를 의미합니다. 역사적 날짜나 1970년 이전 생년월일을 다루는 시스템에서는 음수 타임스탬프가 사용되기도 합니다.
ツールくん

여담 ― 컴퓨터는 왜 "초 단위"로 시간을 세는가

사람은 "2026년 7월 12일 오후 5시 8분"처럼 연월일과 시각을 조합해 날짜를 표현하지만, 컴퓨터에게 이 형식은 다루기 까다롭습니다. 윤년·시간대·서머타임 같은 복잡한 규칙을 매번 고려해야 하고, 두 날짜의 차이를 계산하는 것만으로도 번거로운 처리가 필요합니다. 그래서 고안된 것이 기준 시점으로부터 경과한 초 수라는 단일 숫자만으로 시각을 표현하는 방법이며, 이것이 바로 유닉스 타임스탬프입니다.

시각을 단일 정수로 다룰 수 있다는 가장 큰 장점은 날짜 간의 비교와 덧셈·뺄셈이 단순한 사칙연산으로 귀결된다는 점입니다. "두 이벤트 사이의 간격이 몇 초인가"를 구하려면 타임스탬프의 차이만 계산하면 되며, 윤년이나 월별 일수 차이를 신경 쓸 필요가 전혀 없습니다. 이러한 단순함 덕분에 유닉스 계열 운영체제뿐 아니라 윈도우·데이터베이스·많은 프로그래밍 언어의 내부 표현으로도 채택되어 사실상 세계 표준이 되었습니다.

한편 이 "시간대에 의존하지 않는 단일 숫자"라는 설계는, 사람이 값을 읽는 단계에서 비로소 시간대 변환이 필요해진다는 것을 의미합니다. 같은 타임스탬프라도 도쿄에서 보면 한밤중이고 뉴욕에서 보면 전날 오후인 것처럼, 표시하는 시간대에 따라 겉보기 날짜가 완전히 달라집니다. 로그 조사나 API 연동 디버깅 중 "시각이 어긋난다"며 혼란을 겪는 버그의 상당수는 바로 이 시간대 변환을 놓친 것이 원인인 경우가 많습니다.