서버 로그를 보니 1709251200 같은 숫자가 찍혀있다. 이게 언제를 의미하는지 어떻게 알 수 있을까. 타임스탬프 변환기에 숫자를 넣으면 사람이 읽을 수 있는 날짜 형식으로 변환된다.
Unix 타임스탬프란
1970년 1월 1일 00:00:00 UTC(협정세계시)를 기준으로 경과한 초의 개수다. 이 기준 시점을 Unix Epoch라고 부른다. 컴퓨터 시스템에서 날짜와 시간을 저장하는 표준 방식이다. 숫자 하나로 특정 시점을 정확하게 표현할 수 있다.
왜 타임스탬프를 쓸까
날짜를 문자열로 저장하면 형식이 제각각이다. 2024-03-01, 03/01/2024, 1 Mar 2024 등. 타임스탬프는 숫자 하나이므로 형식 혼란이 없다. 시간 계산도 쉽다. 두 타임스탬프를 빼면 경과 시간이 초 단위로 바로 나온다. 시간대 변환도 간단하다.
변환 방법
eastr.kr/timestamp-converter에서 타임스탬프 숫자를 입력한다. 입력 즉시 해당 시점의 날짜와 시간이 표시된다. 연월일 시분초와 요일까지 보여준다. 한국 시간(KST)과 UTC 시간을 모두 확인할 수 있다.
날짜를 타임스탬프로 변환
반대 방향 변환도 가능하다. 날짜 선택기에서 특정 날짜와 시간을 고르면 해당 시점의 타임스탬프가 계산된다. 데이터베이스 쿼리에서 특정 기간을 조회할 때, API에 시간 범위를 전달할 때 필요하다.
밀리초 타임스탬프
자바스크립트에서는 밀리초(1/1000초) 단위 타임스탬프를 사용한다. 일반 타임스탬프 뒤에 000이 붙어서 13자리가 된다. 이 도구는 10자리(초), 13자리(밀리초) 모두 자동 인식해서 변환한다.
현재 타임스탬프
지금 이 순간의 타임스탬프도 실시간으로 표시된다. API 테스트할 때 현재 시간을 타임스탬프로 보내야 하는 경우 바로 복사해서 쓸 수 있다.
개발자 활용
서버 로그 분석, API 응답 디버깅, 데이터베이스 시간 데이터 확인에 필수적이다. 오류가 발생한 시점을 정확히 파악하거나, 이벤트 발생 순서를 확인할 때 타임스탬프를 읽을 수 있어야 한다.
2038년 문제
32비트 시스템에서 타임스탬프는 2038년 1월 19일에 오버플로우가 발생한다. 이 때문에 많은 시스템이 64비트 타임스탬프로 전환하고 있다. 개발자라면 알아두면 좋은 지식이다.