유틸리티

Unix 타임스탬프란? 날짜 변환 방법과 실무 활용

서버 로그를 열었더니 시간 칸에 1709251200이라는 숫자만 적혀 있다. 이게 도대체 언제인지 바로 알 수가 없다. 이 숫자는 Unix 타임스탬프라고 부르는 시간 표현 방식이다.

Unix 타임스탬프란

1970년 1월 1일 00:00:00 UTC를 기준점(Epoch)으로 잡고, 거기서 경과한 초(second) 수를 정수로 나타낸 것이다. 컴퓨터끼리 시간을 주고받을 때 날짜 형식 대신 이 숫자를 쓰면 시간대(timezone) 혼동 없이 정확한 시점을 전달할 수 있다.

예시
0 = 1970년 1월 1일 00:00:00 UTC
1709251200 = 2024년 3월 1일 00:00:00 UTC
1767225600 = 2026년 1월 1일 00:00:00 UTC

타임스탬프를 날짜로 변환하기

타임스탬프 변환기에 숫자를 넣으면 로컬 시간, UTC, ISO 8601 세 가지 형식으로 변환된 날짜가 나온다. 초 단위인지 밀리초(13자리) 단위인지 선택할 수 있다.

출력 형식예시용도
로컬 시간2026-03-01 09:00:00내 시간대 기준 확인
UTC2026-03-01 00:00:00서버 간 시간 기준
ISO 86012026-03-01T00:00:00.000ZAPI 요청/응답 표준 형식

날짜를 타임스탬프로 변환하기

반대로 특정 날짜를 타임스탬프 숫자로 바꿀 수도 있다. 연, 월, 일, 시간을 입력하면 초 단위와 밀리초 단위 결과가 동시에 나온다. API에 시간 범위를 지정해서 요청할 때 자주 쓰는 기능이다.

초 단위와 밀리초 단위 구분

타임스탬프가 10자리면 초 단위, 13자리면 밀리초 단위다.

  • 1709251200 (10자리) — 초 단위. 대부분의 서버 로그, PHP, Python에서 사용
  • 1709251200000 (13자리) — 밀리초 단위. JavaScript의 Date.now(), Java에서 사용

변환할 때 단위를 잘못 선택하면 결과가 수십 년 단위로 틀어진다. 숫자 자릿수를 먼저 확인하는 습관이 필요하다.

타임스탬프가 쓰이는 곳

서버 로그
요청 시간, 에러 발생 시간을 타임스탬프로 기록한다. 로그 분석 시 변환이 필요하다.
API 통신
"2026년 1월 1일부터 3월 1일까지"를 타임스탬프 범위로 지정해서 데이터를 요청한다.
데이터베이스
created_at, updated_at 같은 시간 컬럼에 정수형 타임스탬프를 저장하기도 한다.
캐시 관리
캐시 만료 시간을 타임스탬프로 설정해서 갱신 여부를 판단한다.

타임스탬프는 개발 중에 거의 매일 마주치는 형식이다. 숫자를 보고 대략적인 연도를 가늠할 수 있으면 좋지만, 정확한 변환이 필요할 때는 도구를 쓰는 게 빠르고 확실하다.