Chrome / WebKit → Unix 타임스탬프 변환기
Chrome / WebKit을(를) Unix 시간으로 변환합니다. 정확한 공식과 큰 값 지원. 출력: 초, 밀리초, ISO 8601, 가독 형식.
1601-01-01 UTC 이후의 마이크로초
현재 시간 — WebKit / Chrome 타임스탬프—
Unix 타임스탬프(초)—
Chrome / WebKit 타임스탬프란?
Chromium과 WebKit은 많은 시각을 1601년 1월 1일 UTC 이후의 마이크로초 수로 저장합니다. 이 17자리 값은 History, Cookies, Login Data SQLite 데이터베이스에서 마주치며, 그래서 이 형식은 브라우저 포렌식과 데이터 내보내기 디버깅에서 흔합니다.
- epoch: 1601-01-01 00:00:00 UTC(Windows FILETIME과 같은 기준)
- 해상도: 마이크로초(초당 1,000,000)
- 현재 값은 1.3 × 10^16 부근의 17자리 숫자
- 나타나는 곳: Chrome/Edge/Brave History(visits.visit_time), Cookies(creation_utc), 캐시 항목
WebKit 타임스탬프를 Unix 시간으로 변환하는 법
WebKit 타임스탬프는 1601년 이후의 마이크로초입니다. 1,000,000으로 나눠 1601년 이후의 초를 구한 뒤, Unix epoch까지의 11,644,473,600초 차이를 뺍니다.
- Unix seconds = WebKit / 1000000 − 11644473600
- Unix milliseconds = WebKit / 1000 − 11644473600000
- 예: 13344473600000000 → 1700000000 → 2023-11-14 22:13:20 UTC
- SQLite: datetime(visit_time/1000000 - 11644473600, "unixepoch")
엣지 케이스
WebKit 타임스탬프가 0이면 1601-01-01을 의미하며, 보통 실제 방문이 아니라 null이거나 설정되지 않은 값을 나타냅니다. 마이크로초 정밀도는 JavaScript 안전 정수를 초과하므로 이 변환기는 BigInt로 파싱해 밀리초까지 완전한 정확도를 유지합니다.
- 1601년 이후 마이크로초 형식을 단순 Unix 마이크로초와 혼동하지 말 것 — 1601→1970 오프셋만큼 다름
- 모든 WebKit 시각은 UTC; 변환 후에 표시 시간대를 선택
- 일부 Chrome 필드(예: last_visit_time = 0)는 '없음'의 센티넬
관련 타임스탬프 형식 변환기
WebKit 타임스탬프가 실제로 나타나는 곳
포렌식과 분석 팀은 특정 Chromium 아티팩트에서 이 형식을 만납니다:
- Chrome/Edge/Brave History 데이터베이스 — visits.visit_time, urls.last_visit_time
- Cookies 데이터베이스 — creation_utc, expires_utc, last_access_utc
- Login Data SQLite — 저장된 자격 증명의 date_created
- Hindsight, ChromeHistoryView, DB Browser for SQLite 같은 도구는 1601년 이후 마이크로초를 기대함
- 캐시와 로컬 스토리지는 종종 다른 형식을 사용함 — 이 형식이라고 단정하기 전에 테이블별로 확인할 것
FAQ
- Chrome는 타임스탬프에 어떤 epoch를 쓰나?
- Chromium/WebKit 타임스탬프는 1601년 1월 1일 00:00:00 UTC 이후의 마이크로초를 셉니다 — Windows FILETIME과 같은 epoch지만, 100나노초 틱이 아니라 마이크로초 단위입니다.
- Chrome 기록 타임스탬프를 변환하려면?
- 값을 1,000,000으로 나누고 11,644,473,600을 빼서 초 단위 Unix 타임스탬프를 얻은 뒤 날짜로 형식화하세요.
- 왜 Chrome 타임스탬프는 17자리인가?
- 1601년부터의 마이크로초(100만분의 1초)를 세기 때문이며, 400년이 넘는 마이크로초를 누적하면 17자리 숫자가 됩니다.