이게 뭔가요?
Unix 타임스탬프는 1970년 1월 1일 0시(UTC)를 기준으로 흐른 시간을 초(또는 밀리초) 단위 정수로 나타낸 값입니다. 이 도구는 타임스탬프를 사람이 읽는 현지·UTC·ISO 8601 날짜로 바꾸고, 반대로 날짜를 타임스탬프로 되돌립니다. 현재 시각도 초/밀리초 단위로 실시간 표시하며, 입력값이 지금으로부터 얼마나 떨어져 있는지 상대 시간도 보여줍니다.
언제 쓰나요?
DB나 로그에 1751692800 같은 숫자로 저장된 시각을 눈으로 확인할 때, 토큰의 exp·iat 값을 날짜로 풀어볼 때, 또는 특정 날짜의 타임스탬프를 코드나 테스트에 하드코딩할 때 씁니다.
실무에서 자주 틀리는 점
- 초 vs 밀리초. Unix 표준과 대부분의 백엔드는 초를, JavaScript의
Date.now()는 밀리초를 씁니다. 자릿수(10자리 vs 13자리)를 확인하지 않으면 1970년이나 먼 미래로 튑니다. - 타임존. 타임스탬프 자체는 항상 UTC 기준입니다. 화면에 보이는 “현지 시각”은 브라우저 타임존으로 변환된 것이라, 서버 로그와 비교할 땐 UTC 값을 봐야 합니다.
- 2038년 문제. 32비트 정수로 초를 담으면 2038년에 넘칩니다. 지금은 대부분 64비트를 쓰지만 오래된 시스템에선 여전히 조심해야 합니다.
주의 — 날짜가 1970년 1월로 찍힌다면 단위 문제입니다. 백엔드가 초 단위(10자리)로 준 값을 자바스크립트
new Date()에 밀리초로 넣으면 1970년 1월 1일에서 몇 분 지난 시각이 됩니다. 1,000을 곱해야 합니다. 서버 로그(UTC)와 관리자 화면(KST)이 9시간 어긋나는 것도 흔한 혼란이니, 이 도구에서 같은 타임스탬프의 UTC 표시와 내 기기 시간대 표시를 함께 보고 어느 쪽인지 확인하세요.