본문 바로가기

유닉스 타임스탬프 변환 완벽 가이드 - 10자리 숫자를 날짜로 바꾸는 모든 방법

로그 파일 속 1700000000 같은 숫자, 무슨 뜻인지 몰라 답답하셨나요? 브라우저 콘솔부터 엑셀, 파이썬까지 유닉스 타임스탬프 변환 방법을 한 번에 정리했습니다.


유닉스 타임스탬프 변환 완벽 가이드 - 10자리 숫자를 날짜로 바꾸는 모든 방법

서버 로그를 열었더니 1700000000 같은 열 자리 숫자가 찍혀 있고, 이게 도대체 언제를 뜻하는지 몰라 한참 들여다본 경험이 있으실 겁니다. API 응답, 데이터베이스, 채팅 기록 백업까지 곳곳에서 이 숫자를 만나게 됩니다. 유닉스 타임스탬프 변환 방법만 알아두면 이 낯선 숫자를 10초 안에 읽을 수 있는 날짜로 바꿀 수 있습니다. 개발자가 아니어도 어렵지 않습니다.

유닉스 타임스탬프란 - 1970년부터 세는 초

유닉스 타임스탬프(Unix Timestamp)는 1970년 1월 1일 0시 0분 0초(UTC)부터 지금까지 흐른 시간을 초 단위로 센 숫자입니다. 이 기준점을 유닉스 에포크(Epoch)라고 부릅니다. 예를 들어 3600은 기준점에서 1시간이 지난 1970년 1월 1일 1시(UTC)를 뜻합니다. 2026년 현재 값은 약 17억 8천만 부근입니다.

왜 이렇게 불편해 보이는 방식을 쓸까요? 컴퓨터 입장에서는 이 방식이 훨씬 효율적이기 때문입니다.

  • 정렬과 계산이 쉽습니다. 두 시각의 차이를 뺄셈 한 번으로 구할 수 있습니다.
  • 타임존 문제가 없습니다. 전 세계 어디서나 같은 순간은 같은 숫자입니다.
  • 저장 공간이 작습니다. 날짜 문자열보다 정수 하나가 훨씬 가볍습니다.
참고: 유닉스 타임스탬프 자체에는 타임존 정보가 없습니다. 항상 UTC 기준이므로, 한국 시간(KST)으로 보려면 변환 결과에 9시간을 더해야 합니다. 대부분의 변환 도구는 이 과정을 자동으로 처리해 줍니다.

유닉스 타임스탬프 변환, 가장 빠른 방법

코드를 몰라도 되는 방법부터 소개합니다. 검색창에 유닉스 타임스탬프 변환을 검색하면 나오는 웹 변환기에 숫자를 붙여넣으면 바로 날짜가 나옵니다. 반대로 특정 날짜를 넣어 타임스탬프를 얻는 것도 가능합니다.

더 빠른 방법도 있습니다. 크롬이나 엣지에서 F12를 눌러 개발자 도구 콘솔을 열고 아래처럼 입력하면 됩니다.

new Date(1700000000 * 1000)

결과로 한국 시간 기준 2023년 11월 15일 오전 7시 13분 20초가 출력됩니다. 브라우저가 내 컴퓨터의 타임존을 자동으로 적용해 주기 때문에 별도 계산이 필요 없습니다. 원고 작업할 때 글자수 세기 도구를 브라우저 탭에 띄워두고 쓰듯이, 타임스탬프 변환기도 자주 쓰는 도구 하나를 정해 즐겨찾기해 두면 작업 속도가 확실히 빨라집니다.

프로그래밍 언어별 변환 코드

반복 작업이라면 코드로 처리하는 편이 낫습니다. 실무에서 가장 많이 쓰는 4가지 환경의 변환 방법입니다.

자바스크립트

현재 타임스탬프는 Math.floor(Date.now() / 1000), 날짜 변환은 new Date(ts * 1000)을 사용합니다. Date.now()가 밀리초를 반환하기 때문에 1000으로 나누거나 곱하는 과정이 필요합니다.

파이썬

datetime.fromtimestamp(1700000000)으로 변환하면 실행 환경의 로컬 타임존이 적용된 날짜가 나옵니다. 현재 타임스탬프는 time.time()으로 얻습니다.

MySQL

SELECT FROM_UNIXTIME(1700000000);으로 날짜를 얻고, 반대로 UNIX_TIMESTAMP(NOW())로 현재 타임스탬프를 구합니다.

엑셀

A1 셀에 타임스탬프가 있다면 =A1/86400+DATE(1970,1,1)+9/24 수식을 입력하고 셀 서식을 날짜로 바꾸면 됩니다. 86400은 하루의 초 수이고, 9/24는 한국 시간 보정입니다.

자주 만나는 타임스탬프 값 정리

기억해 두면 감을 잡는 데 도움이 되는 대표 값들입니다.

타임스탬프날짜(UTC 기준)의미
01970-01-01 00:00:00유닉스 에포크, 모든 계산의 기준점
1,000,000,0002001-09-09 01:46:4010억 초 돌파 시점
1,700,000,0002023-11-14 22:13:20한국 시간으로 2023-11-15 07:13:20
2,147,483,6472038-01-19 03:14:0732비트 정수의 최댓값, 이른바 2038년 문제

표의 마지막 줄이 중요합니다. 오래된 32비트 시스템은 2,147,483,647 이후의 값을 저장하지 못해 2038년 1월 19일에 시간이 뒤엎어지는 오류가 발생할 수 있습니다. 현대의 64비트 시스템은 해당되지 않지만, 구형 임베디드 장비나 레거시 데이터베이스를 다룬다면 알아둘 필요가 있습니다.

변환할 때 자주 하는 실수 3가지

유닉스 타임스탬프 변환 자체는 간단하지만, 실무에서 오류가 나는 지점은 늘 비슷합니다.

  • 초와 밀리초 혼동: 변환했더니 1970년이나 54000년 같은 이상한 연도가 나온다면 단위 문제입니다. 자바스크립트와 자바는 밀리초, 파이썬과 MySQL은 초를 기본으로 씁니다.
  • 타임존 미적용: 결과가 정확히 9시간 어긋난다면 UTC 값을 그대로 읽은 것입니다. 한국 시간인지 UTC인지 반드시 확인해야 합니다.
  • 문자열 정렬 오류: 타임스탬프를 숫자가 아닌 문자열로 저장하면 정렬이 뒤죽박죽이 됩니다. 숫자 타입으로 저장하는 것이 원칙입니다.
팁: 자릿수만 봐도 단위를 구분할 수 있습니다. 현재 시점 기준으로 10자리면 초, 13자리면 밀리초입니다. 13자리 숫자를 만나면 1000으로 나눈 뒤 변환하면 됩니다.
타임스탬프 변환 오류의 대부분은 계산식이 아니라 단위와 타임존에서 나옵니다. 숫자를 보자마자 자릿수부터 확인하는 습관 하나가 가장 확실한 예방책입니다.

핵심 정리와 실전 활용법

정리하면 이렇습니다. 유닉스 타임스탬프는 1970년 1월 1일 UTC부터 센 초이고, 한국 시간은 여기에 9시간을 더한 값입니다. 일회성 확인은 웹 변환기나 브라우저 콘솔로, 반복 작업은 코드로 처리하는 것이 효율적입니다.

지금 바로 해볼 수 있는 것 두 가지를 제안합니다. 첫째, F12 콘솔에 Math.floor(Date.now() / 1000)을 입력해서 지금 이 순간의 타임스탬프를 직접 확인해 보세요. 둘째, 자주 쓰는 변환 도구 하나를 즐겨찾기에 등록해 두세요. 로그를 분석하거나 데이터를 정리할 때 이 두 가지 준비만으로도 시간이 크게 절약됩니다.

3일 무료체험큰손탐지기, 지금 바로 시작하세요

설치 없이 웹에서 바로 사용 가능 · PC & 모바일 지원

무료체험 시작
카카오톡 상담