타임스탬프 변환기
유닉스 타임스탬프를 날짜로, 날짜를 초/밀리초 타임스탬프로 변환하세요. UTC, 로컬 시간, ISO 8601 형식을 한 번에 확인할 수 있습니다.
타임스탬프 변환기 가이드
유닉스 타임스탬프(Unix timestamp)는 1970년 1월 1일 00:00:00 UTC부터 흐른 시간을 숫자로 표현한 값입니다. 서버 로그, 데이터베이스, JavaScript Date, 각종 API 응답에서 자주 등장하므로 초와 밀리초 차이를 빠르게 확인하는 도구가 실무에서 매우 유용합니다.
자주 쓰는 활용 사례
- 로그에 찍힌 타임스탬프를 사람이 읽을 수 있는 날짜로 바꿀 때
- API 응답이나 이벤트 payload의 초/밀리초 단위를 검증할 때
- DB 시드 데이터나 테스트 픽스처에 현재 시간 값을 넣을 때
- 프론트엔드와 백엔드 간 시간대 차이 문제를 디버깅할 때
권장 사용 팁
- API 스펙 문서에 타임스탬프 단위를 seconds 또는 milliseconds로 명시하세요.
- 외부 시스템과 주고받는 시간값은 ISO 8601 문자열과 함께 검증하면 디버깅이 쉬워집니다.
- DB 저장은 UTC 기준으로 일관되게 하고, 화면 표시 단계에서만 로컬 시간대로 변환하세요.
- JavaScript에서는 Date.now()가 밀리초라는 점을 기준으로 변환 함수를 분리해 두는 편이 안전합니다.
초와 밀리초 차이
10자리 값은 대부분 초
예를 들어 1710403200 같은 값은 초 단위로 취급하는 경우가 일반적입니다. 백엔드 로그, SQL 함수, 일부 언어의 표준 라이브러리에서 자주 사용됩니다.
13자리 값은 대부분 밀리초
예를 들어 1710403200000 같은 값은 밀리초 단위인 경우가 많습니다. JavaScript Date.now(), 브라우저 이벤트 시각값, 일부 NoSQL 저장소에서 흔합니다.
단위를 헷갈리면 날짜가 크게 어긋납니다
초를 밀리초로 오해하면 1970년대 날짜가 나오고, 밀리초를 초로 오해하면 지나치게 먼 미래로 이동합니다. 그래서 자동 감지와 단위 확인이 중요합니다.
실무에서 자주 하는 실수
- JavaScript Date.now() 값은 밀리초인데, 이를 그대로 초 단위 API에 보내는 실수
- UTC 기준 타임스탬프를 로컬 시간 문자열로 표시하면서 시간대 보정을 놓치는 실수
- 서버와 클라이언트가 서로 다른 형식(초 / 밀리초)을 기대하는데 명세를 확인하지 않는 실수
- datetime-local 입력값이 브라우저 로컬 시간대 기준이라는 점을 놓치는 실수
자주 묻는 질문
네. 유닉스 타임스탬프 자체는 UTC 기준의 절대 시각입니다. 화면에 표시할 때만 로컬 시간대나 특정 타임존으로 변환됩니다.
보통 10자리는 초(seconds), 13자리는 밀리초(milliseconds)입니다. JavaScript의 Date.now()는 13자리 밀리초 값을 반환합니다.
브라우저의 현재 로컬 시간대를 기준으로 해석됩니다. 따라서 같은 값이라도 사용자의 시스템 시간대가 다르면 UTC 변환 결과가 달라질 수 있습니다.
네. 1970년 1월 1일 UTC 이전 시각은 음수 타임스탬프로 표현되며 이 도구에서도 변환할 수 있습니다.