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

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

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

유닉스 타임스탬프는 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초 후 오버플로가 발생)

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

이 도구는 유닉스 타임스탬프(초 단위 또는 밀리초 단위 에포크)와 사람이 읽기 쉬운 날짜·시각을 양방향으로 변환합니다. 타임스탬프를 입력하면 자릿수를 기준으로 초 단위인지 밀리초 단위인지 자동으로 판별하며, ISO 8601(UTC) 표기, "3시간 전"과 같은 상대 시간 표현, 그리고 UTC·도쿄·뉴욕·로스앤젤레스·런던·파리 등 6개 시간대에서의 대응 시각을 한 번에 보여줍니다. 반대로 날짜와 시각을 입력하면 지정한 시간대를 기준으로 초 단위·밀리초 단위 타임스탬프를 계산합니다.

모든 계산은 브라우저 안에서 자바스크립트로 처리되며 서버로 전송되지 않으므로, 사내 시스템의 로그나 API 응답에 포함된 타임스탬프처럼 외부에 노출하고 싶지 않은 값도 안심하고 붙여넣을 수 있습니다. 날짜에서 타임스탬프로 변환할 때는 서머타임(일광 절약 시간제) 전환 구간도 두 단계 계산으로 정확하게 처리하며, 2월 30일처럼 실제로 존재하지 않는 날짜는 오류로 감지해 알려줍니다.

사용 방법

  1. 변환 방향을 선택합니다 타임스탬프를 날짜로 바꿀지, 날짜를 타임스탬프로 바꿀지에 따라 화면 위쪽의 두 카드 중 하나를 사용합니다.
  2. 타임스탬프 또는 날짜·시각을 입력합니다 숫자로 된 타임스탬프를 붙여넣거나, 날짜 선택기로 원하는 날짜와 시각을 지정합니다. 현재 시각을 바로 확인하고 싶다면 "현재 시각 입력" 버튼을 누릅니다.
  3. 단위 또는 시간대를 확인합니다 타임스탬프 변환 시에는 초·밀리초 단위를 자동 감지에 맡기거나 직접 선택할 수 있고, 날짜 변환 시에는 입력값이 어느 시간대의 시각인지 반드시 지정합니다.
  4. 결과와 시간대별 표를 확인합니다 ISO 8601 표기, 상대 시간, 초·밀리초 단위 값과 함께 6개 주요 시간대에서의 동일 순간이 표로 표시됩니다.
  5. 필요한 값을 복사해 사용합니다 표시된 숫자나 문자열을 그대로 복사해 로그 검색, API 요청, 데이터베이스 쿼리 등에 붙여넣어 사용합니다.

더 잘 활용하기 위한 팁

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

활용 시나리오

서버 로그 분석

접속 로그나 오류 로그에 초 단위 숫자로만 기록된 타임스탬프를 사람이 읽을 수 있는 날짜로 변환해, 장애가 발생한 정확한 시점을 파악할 때 사용합니다.

API 개발과 디버깅

REST API 응답에 포함된 created_at·updated_at 등의 필드가 초 단위인지 밀리초 단위인지 헷갈릴 때, 값을 붙여넣어 즉시 검증하고 클라이언트 코드의 파싱 오류를 방지합니다.

데이터베이스 타임스탬프 칼럼 점검

DB에 정수형으로 저장된 시각 칼럼의 값을 조회 화면에서 그대로 붙여넣어, 마이그레이션이나 배치 처리 전에 실제 날짜를 눈으로 확인합니다.

해외 팀과의 시간대 조율

도쿄·뉴욕·런던 등 여러 지역에 흩어진 팀원과 회의나 배포 일정을 잡을 때, 하나의 타임스탬프가 각 지역에서 몇 시에 해당하는지 표로 한눈에 비교합니다.

테스트 데이터와 예제 코드 작성

특정 날짜에 해당하는 타임스탬프 값이 필요한 테스트 픽스처나 문서용 예제 코드를 작성할 때, 원하는 날짜를 입력해 정확한 숫자를 빠르게 얻습니다.

용어 해설

유닉스 타임스탬프(에포크 초)
1970년 1월 1일 00:00:00 UTC를 기준으로 경과한 초 수로 특정 순간을 나타내는 정수값입니다.
유닉스 에포크
유닉스 타임스탬프의 기산점인 1970년 1월 1일 00:00:00 UTC를 가리키는 명칭입니다.
UTC(협정 세계시)
전 세계 시간대의 기준이 되는 표준시로, 시간대에 따른 오차 없이 순간을 표현할 때 사용됩니다.
에포크 밀리초
유닉스 에포크로부터 경과한 밀리초 수로 시각을 나타내는 값으로, 자바스크립트의 Date.now() 등이 반환하는 형식입니다.
ISO 8601
연-월-일과 시:분:초를 하이픈과 콜론으로 구분해 표기하는 국제 표준 날짜·시각 형식으로, 대부분의 프로그래밍 언어가 그대로 해석할 수 있습니다.
2038년 문제
부호 있는 32비트 정수로 타임스탬프를 저장하는 시스템이 2038년 1월 19일 03:14:07 UTC 다음 순간 오버플로를 일으켜 날짜가 잘못 표시되는 문제입니다.
일광 절약 시간제(DST, 서머타임)
여름철 한 시간을 앞당겨 표준시를 조정하는 제도로, 뉴욕이나 런던 등 일부 시간대에서는 전환 시점의 시각 계산에 주의가 필요합니다.
상대 시간 표현
"3시간 전"처럼 현재 시각을 기준으로 한 시간 차이를 자연어로 나타내는 표기 방식입니다.

자주 묻는 질문

유닉스 타임스탬프(에포크 시간)는 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 연동 디버깅 중 "시각이 어긋난다"며 혼란을 겪는 버그의 상당수는 바로 이 시간대 변환을 놓친 것이 원인인 경우가 많습니다.