유닉스 타임스탬프 변환

1970년부터 흐른 초(또는 밀리초)를 날짜로, 날짜를 그 숫자로 바꿉니다. 초와 밀리초를 헷갈려 천 배 어긋나는 일이 잦아, 자릿수로 가려 읽되 어느 쪽으로 봤는지 화면에 밝힙니다.

지금

—

· 밀리초

넣은 것은 기기를 벗어나지 않습니다. 시간대는 이 브라우저의 설정을 따릅니다.

유닉스 시간이란

1970년 1월 1일 0시 UTC 부터 흐른 초를 센 것입니다. 시간대가 없어 서울에서도 런던에서도 같은 순간은 같은 숫자입니다 — 그래서 로그와 데이터베이스가 즐겨 씁니다. 윤초는 세지 않고 하루를 늘 86,400초로 칩니다. 1970년 이전은 음수입니다.

초·밀리초·그 밖의 단위

자바스크립트의 Date.now() 와 자바의 currentTimeMillis() 는 밀리초, 파이썬의 time.time() 과 대부분의 데이터베이스는 초입니다. 여기서는 절댓값이 1e11 을 넘으면 밀리초로 봅니다. 마이크로초(16자리)는 밀리초로 잘못 읽혀 수천 년 뒤의 날짜가 나오니, 결과가 터무니없으면 「읽은 단위」 줄부터 보세요. 날짜로 만들 수 없는 값(±8.64e15ms 밖)과 .NET 틱(18자리)은 「읽지 못했습니다」가 됩니다.

날짜 글을 읽는 규칙

숫자가 아니면 브라우저의 Date.parse 에 맡깁니다. 끝에 Z 나 +09:00 이 붙으면 그 시간대로, 2026-08-14 처럼 날짜만이면 UTC 자정으로, 2026-08-14 09:30 처럼 시각은 있는데 시간대가 없으면 이 기기의 시간대로 읽습니다. 날짜만 넣었을 때 아홉 시간이 어긋나 보이는 것이 이 규칙 때문입니다.

결과 줄 읽기

ISO 8601 줄은 늘 UTC 이고 끝에 Z 가 붙습니다 — API 에 넘길 때 이것을 쓰면 시간대 다툼이 없습니다. 그 아래 UTC 와 이 기기의 시간대로 본 시각, 지금과의 거리가 섭니다. 지금 시각은 1초마다 다시 세고, 페이지가 열린 뒤에야 채웁니다.

숫자로도 날짜로도 읽지 못하는 것

숫자로 보는 것은 앞에 - 만 허용한 열일곱 자리까지의 정수입니다. 1700000000.5 처럼 소수점이 들거나 1,700,000,000 처럼 쉼표로 자리를 끊은 것, + 가 붙은 것은 숫자로도 날짜로도 읽히지 않습니다. 날짜 쪽은 브라우저에 맡기므로 조금씩 다르지만, 크롬은 2026/08/14·Aug 14 2026 은 읽고 14.08.2026 은 읽지 못합니다. 조심할 것은 20260814 처럼 날짜를 붙여 쓴 여덟 자리입니다 — 오류가 나지 않고 초로 읽혀 1970년 8월의 어느 날이 나옵니다.

0과 음수, 그리고 자릿수의 경계

0 은 1970년 1월 1일 0시 UTC 이고 음수는 그 이전입니다 — -1 은 UTC 로 1969년 12월 31일 23시 59분 59초입니다. 초와 밀리초를 가르는 1e11 은 초로 보면 5138년, 밀리초로 보면 1973년 3월 3일이라, 1973년 3월 이전의 밀리초 값은 열두 자리가 안 되어 초로 읽힙니다.

자주 묻는 질문

초인지 밀리초인지 어떻게 아나요?

자릿수로 가립니다. 1e11을 넘으면 밀리초로 봅니다 — 그보다 큰 값을 초로 읽으면 서기 5138년이 되어 현실적이지 않기 때문입니다. 어느 쪽으로 읽었는지 결과에 적어 두니 확인하세요.

타임스탬프에 시간대가 들어 있나요?

없습니다. 1970년 1월 1일 UTC 자정부터 흐른 초일 뿐이라 그 숫자만으로는 어느 나라 시각인지 알 수 없습니다. 같은 값을 서울에서 읽으면 UTC 보다 아홉 시간 뒤로 보입니다 — 로그를 견줄 때 시각이 아홉 시간 어긋나 보이면 대개 이것입니다.

2038년 문제가 무엇인가요?

타임스탬프를 32비트 부호 있는 정수에 담는 시스템은 2038년 1월 19일에 담을 수 있는 최댓값을 넘겨 음수로 돌아갑니다. 요즘 언어는 대부분 64비트로 다루지만, 오래된 C 프로그램이나 데이터베이스 칼럼 타입에는 아직 남아 있습니다.

밀리초를 초로 바꾸려면요?

천으로 나누면 됩니다. 다만 소수점 아래를 버릴지 반올림할지에 따라 1초가 어긋날 수 있으니, 로그를 견주는 중이라면 어느 쪽으로 잘랐는지 맞춰 보세요.

소수점이 든 타임스탬프는요?

읽지 못합니다. time.time() 이 주는 1700000000.123 같은 값은 소수점을 떼고 정수 초로 넣거나, 천을 곱해 밀리초 정수로 넣으세요.

붙여넣은 코드가 서버로 가나요?

가지 않습니다. 브라우저 안에서만 처리하고 어디에도 보내거나 저장하지 않습니다. 사내 설정 파일이나 운영 쿼리처럼 밖으로 내보내기 곤란한 것도 그래서 쓸 수 있습니다. 인터넷을 끊고도 동작합니다.