JWT의 exp / iat 클레임 읽기
JSON Web Token은 iat(발급 시각)과 exp(만료 시각)를 Unix 초로 인코딩합니다. 숫자를 붙여넣으면 토큰이 여전히 유효한지, 언제 발급되었는지, 만료까지 얼마나 남았는지를 즉시 확인할 수 있습니다.
유닉스 타임스탬프(초 또는 밀리초)를 사람이 읽을 수 있는 날짜로, 또는 날짜를 다시 에포크로 즉시 변환합니다. ISO 8601, RFC 2822, UTC, 로컬 시간 그리고 10개 이상의 시간대를 한 화면에서 확인하세요.
유닉스 타임스탬프("Unix 시간" 또는 "epoch 시간"이라고도 합니다)는 1970년 1월 1일 목요일 00:00:00 UTC 이후로 경과한 초 단위 시간이며, 윤초는 무시합니다. 데이터베이스, 로그 파일, API, 쿠키 등에서 보편적으로 사용되는 시간 형식입니다. 10자리 숫자는 초(2286년에 11자리로 전환됩니다), 13자리 숫자는 밀리초입니다.
대부분의 Unix 도구(curl, date, syslog, JWT의 exp/iat 클레임)는 초를 사용합니다. JavaScript의 Date.now는 밀리초를 반환합니다. Java, Kotlin 및 많은 웹 API는 밀리초를 사용합니다. 오늘 기준으로 숫자가 약 10자리라면 초이고, 13자리라면 밀리초입니다. iKit은 자릿수로 자동 감지하지만 라디오 버튼으로 단위를 강제 지정할 수도 있습니다.
—
초
—
밀리초
브라우저는 선택한 값을 로컬 시간대로 해석합니다 — 다른 시간대에서 변환하려면 OS의 시간대를 변경하세요.
Date.parse가 이해할 수 있는 모든 형식을 지원합니다: "2024-01-15 10:30 UTC", "Jan 15, 2024", "2024-01-15T10:30:00+09:00".
로그, API, 데이터베이스 타임스탬프를 디버깅하는 개발자를 위해 만들어졌습니다 — 회원가입, 업로드, 제3자 개입 없이 데이터를 안전하게 처리합니다.
현재 유닉스 시간이 페이지 상단에서 매초 초 단위와 밀리초 단위로 갱신됩니다. 두 형식 모두 한 번의 클릭으로 복사할 수 있습니다.
정수를 붙여넣기만 하면 됩니다 — 10자리는 초, 13자리는 밀리초, 16자리는 마이크로초로 처리됩니다. 필요할 때는 단위 토글로 직접 지정할 수 있습니다.
ISO 8601, RFC 2822, UTC 시간, 로컬 시간, Y-M-D H:M:S를 한 화면에서 확인하세요. 요일과 "2시간 전" 같은 사람이 읽기 쉬운 상대 시간도 함께 제공합니다.
동일한 시점을 UTC, 뉴욕, LA, 런던, 파리, 도쿄, 상하이, 타이베이, 콜카타, 시드니에서 확인할 수 있어 글로벌 협업과 다국적 API 운영에 유용합니다.
날짜 → 타임스탬프 모드로 전환해 "Jan 15 2024 10:30 UTC"를 입력하거나 날짜·시간 입력기에서 선택하면 초와 밀리초 단위의 유닉스 타임스탬프를 얻을 수 있습니다.
모든 처리는 브라우저 탭에 이미 로드된 JavaScript에서 실행됩니다. DevTools → Network에서 직접 확인할 수 있습니다: fetch도, XHR도, 로깅도 없습니다. 운영 환경 타임스탬프에도 안전합니다.
유닉스 타임스탬프는 그저 정수일 뿐이지만 — 날짜로 변환하는 과정에는 의외로 많은 세부 사항이 있습니다.
유닉스 타임스탬프는 출처에 따라 초, 밀리초, 마이크로초 또는 나노초 단위일 수 있습니다. 첫 번째 작업은 어떤 단위인지 파악하는 것입니다. iKit은 자릿수를 확인합니다: 약 10자리 = 초, 약 13자리 = 밀리초, 약 16자리 = 마이크로초. 단위 라디오 버튼으로 자동 감지를 재정의할 수 있습니다.
JavaScript의 Date 생성자는 밀리초를 받으므로, 정규화를 위해 초 × 1000 (또는 마이크로초 / 1000)을 수행합니다. 내부적으로 Date는 에포크 이후의 밀리초를 64비트 부동소수점으로 저장하므로 — 현실적인 어떤 타임스탬프든 충분히 표현할 수 있습니다.
Date 객체를 얻은 뒤에는 여러 방식으로 형식화하도록 요청합니다: ISO 8601 / UTC는 toISOString, RFC 2822는 toUTCString, 사용자 로컬 시간대는 toString, 그 밖의 시간대는 Intl.DateTimeFormat을 사용합니다.
반대 방향에서는 브라우저의 Date.parse가 ISO 8601과 다양한 자연어 형식을 처리합니다. datetime-local 입력은 사용자의 로컬 시간대로 해석됩니다. getTime은 에포크 이후 밀리초를 반환하며, 초로 만들려면 1000으로 나누면 됩니다.
에포크 변환기를 찾게 되는 실제 상황들입니다.
JSON Web Token은 iat(발급 시각)과 exp(만료 시각)를 Unix 초로 인코딩합니다. 숫자를 붙여넣으면 토큰이 여전히 유효한지, 언제 발급되었는지, 만료까지 얼마나 남았는지를 즉시 확인할 수 있습니다.
Postgres의 extract(epoch from now), MySQL의 UNIX_TIMESTAMP, MongoDB의 $toDate — 모두 Unix 에포크를 반환합니다. 행의 타임스탬프 값을 붙여넣으면 시간대별 실제 벽시계 시간을 확인할 수 있습니다.
애플리케이션 로그는 UTC, syslog는 로컬 시간, 외부 공급자의 로그는 PST. 각 타임스탬프를 여기서 ISO 8601로 변환하면 장애 추적 시 초 단위로 정렬해 비교할 수 있습니다.
선택기에서 미래 날짜를 고르고 유닉스 타임스탬프를 복사한 뒤 Set-Cookie 헤더, HTTP Expires 필드 또는 캐시 TTL 설정에 붙여넣으세요. 머릿속 계산도, 시간대 오프바이원 오류도 없습니다.
운영 로그, 고객 지원 티켓, 감사 로그, 테스트 픽스처의 타임스탬프는 무해해 보이지만 사용자 행동과 인프라 이벤트에 연결되어 있습니다. 이를 다른 회사 서버에 붙여넣으면 통제할 수 없는 흔적이 남습니다. iKit의 변환기는 브라우저 탭에 이미 로드된 JavaScript로 동작합니다.
iKit 블로그의 심층 튜토리얼과 도구 비교.
유닉스 타임스탬프("Unix 시간" 또는 "epoch 시간"이라고도 합니다)는 1970년 1월 1일 목요일 00:00:00 UTC 이후로 경과한 초 단위 시간이며, 윤초는 무시합니다. 데이터베이스, 로그 파일, API, 쿠키 등에서 보편적으로 사용되는 시간 형식입니다. 10자리 숫자는 초(2286년에 11자리로 전환됩니다), 13자리 숫자는 밀리초입니다.
대부분의 Unix 도구(curl, date, syslog, JWT의 exp/iat 클레임)는 초를 사용합니다. JavaScript의 Date.now는 밀리초를 반환합니다. Java, Kotlin 및 많은 웹 API는 밀리초를 사용합니다. 오늘 기준으로 숫자가 약 10자리라면 초이고, 13자리라면 밀리초입니다. iKit은 자릿수로 자동 감지하지만 라디오 버튼으로 단위를 강제 지정할 수도 있습니다.
아니요. 모든 도구는 브라우저 탭 내부에서 실행되는 JavaScript입니다. 변환은 단순한 Date 산술 연산입니다 — fetch도, XHR도, beacon도 없습니다. DevTools → Network를 열고 직접 확인해 보세요: 입력해도 어떤 요청도 발생하지 않습니다. 운영 로그, 스테이징 데이터베이스, 고객 지원 티켓의 타임스탬프를 안전하게 붙여넣을 수 있습니다.
유닉스 타임스탬프는 정의상 시간대가 없습니다 — 에포크 UTC 이후의 초 수일 뿐입니다. 차이가 보이는 곳은 표시할 때입니다. 날짜 → 타임스탬프 쪽의 선택기는 브라우저의 로컬 시간대를 사용합니다. 다른 시간대의 날짜를 입력하려면 "2024-01-15 10:30:00 +09:00" 또는 "2024-01-15 10:30 UTC"처럼 명시적 오프셋을 자유 형식으로 입력하세요.
32비트 부호 있는 유닉스 타임스탬프는 2038년 1월 19일에 오버플로됩니다. iKit은 JavaScript의 Number 타입(53비트 안전 정수 범위)을 사용하므로 서기 275000년을 훨씬 넘는 날짜까지 처리할 수 있습니다. Y2038 문제는 32비트 time_t를 사용하는 시스템에 영향을 미칩니다 — 대부분의 최신 OS 커널, 데이터베이스, 언어는 이미 64비트 시간으로 전환했지만, 레거시 임베디드 펌웨어에서는 여전히 발생할 수 있습니다.