유틸리티 소개

로그에 1709251200 이런 숫자가 있는데 이게 언제인 거지

서버 로그 보다가 timestamp 필드에 1709251200 이런 숫자가 있었다. 이게 날짜라는 건 알겠는데, 2024년 몇월 며칠인지 바로 안 보인다.

Unix 타임스탬프가 뭔지

1970년 1월 1일 00:00:00 UTC(에포크)부터 경과한 초 수다. 1709251200은 그 시점부터 1,709,251,200초가 지났다는 의미다.

타임스탬프 변환에 이 숫자를 넣으면 2024년 3월 1일 금요일이라고 나온다. 사람이 읽을 수 있는 날짜로 바뀐다.

초 단위 vs 밀리초 단위

1709251200은 10자리라서 초 단위다. 자바스크립트에서는 1709251200000 이렇게 13자리 밀리초 단위를 쓴다.

Unix timestamp 변환기에서 자동으로 초/밀리초를 구분해준다. 10자리면 초, 13자리면 밀리초로 해석한다.

날짜를 타임스탬프로

반대로 날짜 타임스탬프 변환도 된다. 2024-03-01 12:00:00을 입력하면 Unix 타임스탬프 값이 나온다.

에포크 시간으로 바꾸면 데이터베이스 저장이나 API 전송에 쓸 수 있다. 날짜 문자열보다 타임스탬프가 연산하기 편하다.

현재 타임스탬프

지금 이 순간의 Unix 시간 변환 결과를 실시간으로 볼 수 있다. 화면에 현재 타임스탬프가 계속 업데이트된다.

복사 버튼 누르면 현재 시간의 타임스탬프를 바로 가져갈 수 있다.

시간대 주의

타임스탬프 자체는 UTC 기준이다. 로컬 시간으로 보려면 시간대 변환이 필요하다. 시간 변환 결과에 로컬 시간과 UTC 시간이 둘 다 표시된다.

한국은 UTC+9니까 UTC 기준 2024-03-01 00:00:00은 한국 시간으로 09:00:00이다.

ISO 8601 형식

타임스탬프를 ISO 8601 형식으로도 볼 수 있다. 2024-03-01T00:00:00Z 이런 형태. API에서 많이 쓰는 날짜 포맷이다.

epoch 변환 결과에 여러 형식이 같이 표시되니까 필요한 거 복사하면 된다.

밀리초 변환

자바스크립트 Date.now()는 밀리초 변환 결과를 반환한다. 1709251200000처럼 뒤에 000이 붙는다.

타임스탬프 계산할 때 초 단위인지 밀리초 단위인지 확인하는 게 중요하다. 1000으로 나누거나 곱해야 할 수 있다.

정리

로그나 데이터베이스에 있는 숫자 타임스탬프가 언제인지 모르겠으면 타임스탬프 변환기 쓰면 된다. 초/밀리초 자동 감지하고, 로컬 시간/UTC/ISO 형식 다 보여준다.