서버 로그를 열었더니 시간 칸에 1709251200이라는 숫자만 적혀 있다. 이게 도대체 언제인지 바로 알 수가 없다. 이 숫자는 Unix 타임스탬프라고 부르는 시간 표현 방식이다.
Unix 타임스탬프란
1970년 1월 1일 00:00:00 UTC를 기준점(Epoch)으로 잡고, 거기서 경과한 초(second) 수를 정수로 나타낸 것이다. 컴퓨터끼리 시간을 주고받을 때 날짜 형식 대신 이 숫자를 쓰면 시간대(timezone) 혼동 없이 정확한 시점을 전달할 수 있다.
예시0= 1970년 1월 1일 00:00:00 UTC1709251200= 2024년 3월 1일 00:00:00 UTC1767225600= 2026년 1월 1일 00:00:00 UTC
타임스탬프를 날짜로 변환하기
타임스탬프 변환기에 숫자를 넣으면 로컬 시간, UTC, ISO 8601 세 가지 형식으로 변환된 날짜가 나온다. 초 단위인지 밀리초(13자리) 단위인지 선택할 수 있다.
| 출력 형식 | 예시 | 용도 |
|---|---|---|
| 로컬 시간 | 2026-03-01 09:00:00 | 내 시간대 기준 확인 |
| UTC | 2026-03-01 00:00:00 | 서버 간 시간 기준 |
| ISO 8601 | 2026-03-01T00:00:00.000Z | API 요청/응답 표준 형식 |
날짜를 타임스탬프로 변환하기
반대로 특정 날짜를 타임스탬프 숫자로 바꿀 수도 있다. 연, 월, 일, 시간을 입력하면 초 단위와 밀리초 단위 결과가 동시에 나온다. API에 시간 범위를 지정해서 요청할 때 자주 쓰는 기능이다.
초 단위와 밀리초 단위 구분
타임스탬프가 10자리면 초 단위, 13자리면 밀리초 단위다.
1709251200(10자리) — 초 단위. 대부분의 서버 로그, PHP, Python에서 사용1709251200000(13자리) — 밀리초 단위. JavaScript의Date.now(), Java에서 사용
변환할 때 단위를 잘못 선택하면 결과가 수십 년 단위로 틀어진다. 숫자 자릿수를 먼저 확인하는 습관이 필요하다.
타임스탬프가 쓰이는 곳
- 서버 로그
- 요청 시간, 에러 발생 시간을 타임스탬프로 기록한다. 로그 분석 시 변환이 필요하다.
- API 통신
- "2026년 1월 1일부터 3월 1일까지"를 타임스탬프 범위로 지정해서 데이터를 요청한다.
- 데이터베이스
- created_at, updated_at 같은 시간 컬럼에 정수형 타임스탬프를 저장하기도 한다.
- 캐시 관리
- 캐시 만료 시간을 타임스탬프로 설정해서 갱신 여부를 판단한다.
타임스탬프는 개발 중에 거의 매일 마주치는 형식이다. 숫자를 보고 대략적인 연도를 가늠할 수 있으면 좋지만, 정확한 변환이 필요할 때는 도구를 쓰는 게 빠르고 확실하다.