서버 로그 보다가 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 형식 다 보여준다.