유닉스 타임스탬프(에포크 시간)는 1970년 1월 1일 00:00:00 UTC 이후 흐른 초의 수입니다. 데이터베이스, 로그 파일, JWT 클레임, API, 운영체제가 어떤 시점을 숫자 하나로 저장하는 방식입니다. 이 변환기는 타임스탬프를 읽을 수 있는 날짜로, 날짜를 타임스탬프로 바꾸고 결과를 초, 밀리초, ISO 8601, RFC 2822, 상대 시간, 원하는 시간대로 보여 줍니다. 맨 위의 실시간 시계는 현재 에포크 시간을 초와 밀리초로 계속 보여 줍니다.
가장 자주 걸리는 부분은 단위입니다. 자바스크립트, 자바, 많은 웹 API는 밀리초를, 유닉스 도구, 파이썬의 time.time(), PHP, 대부분의 데이터베이스는 초를 씁니다. 1767225600은 초이고 1767225600000은 같은 시점을 밀리초로 나타낸 값입니다. 변환기는 숫자의 크기로 단위를 감지하고(10자리는 초, 13자리는 밀리초, 16자리는 마이크로초) 무엇으로 감지했는지 알려 줍니다. 단위를 직접 고정할 수도 있으며, 잘못 골랐을 때 어떻게 되는지는 아래 예시에 있습니다. 타임스탬프 목록을 붙여 넣으면 줄마다 변환합니다.
변환은 자바스크립트의 Date로 브라우저 안에서 이루어지며 서버로 전송되지 않습니다. 로컬 시간은 기기의 시간대 기준이므로 다른 사람에게 공유할 때는 UTC 줄을 쓰세요.
사용 방법
실시간 시계나 예제로 시작
맨 위 띠에 현재 유닉스 시간이 초와 밀리초로 표시되며, 이 값 변환하기를 누르면 불러옵니다. 예제 칩으로 에포크 0, Y2K, 2038년 한계, 밀리초·마이크로초 샘플을 불러올 수 있습니다.
값 입력
첫 번째 칸에는
1767225600같은 타임스탬프를, 두 번째 칸에는2026-01-01 09:00:00,2026-01-01T00:00:00Z, RFC 2822 날짜 같은 날짜를 입력합니다. 어느 쪽을 고치든 다른 쪽이 따라 바뀝니다.감지된 단위 확인
단위를 자동 감지로 두면 도구가 고른 단위를 알려 줍니다. 추측이 틀리면 초, 밀리초, 마이크로초, 나노초 중에서 직접 고르세요. 오프셋 없는 날짜는 날짜 칸 아래에서 고른 시간대(기본은 내 시간대)로 읽습니다.
변환하고 모든 형식 확인
결과에 유닉스 초와 밀리초가 큰 글씨로, 지금으로부터 얼마나 전·후인지, 형식 목록(UTC와 내 시간대의 ISO 8601, RFC 2822, 일반 날짜·시간, 마이크로초, 나노초)이 나옵니다. 아래 표는 같은 순간을 내 시간대, UTC, 추가한 시간대로 보여 줍니다.
복사 또는 다운로드
값 옆의 작은 복사 버튼으로 하나씩 복사하거나, 시간대 표의 한 줄을 복사하거나, 목록을 일괄 변환 칸에 붙여 넣고 변환된 표를 TSV로 복사합니다. 공유 링크는 타임스탬프와 시간대를 주소에 담습니다.
작동 원리
에포크 시간이 세는 것
유닉스 시간은 POSIX가 정의한 에포크 1970-01-01T00:00:00Z 이후의 초 수입니다. 하루는 항상 정확히 86,400초로 취급하므로 윤초는 무시됩니다. 윤초가 삽입되면 유닉스 시간은 그 초를 세지 않고 한 초를 반복하거나 나눠서 흡수합니다. 1972년 이후 윤초는 27번 추가되었고 마지막은 2016년 12월입니다.
에포크가 UTC 기준이므로 타임스탬프는 지구상 누구에게나 같은 한 시점을 가리킵니다. 시간대는 표시할 때만 문제가 됩니다. 같은 타임스탬프 1767225600은 런던에서 2026-01-01 00:00, 서울에서 09:00, 뉴욕에서 2025-12-31 19:00입니다.
부호 있는 32비트 정수가 담을 수 있는 최댓값은 2,147,483,647이고 이는 2038-01-19 03:14:07 UTC입니다. 1초 뒤에는 음수로 넘쳐서, 단순한 시스템은 이를 1901년으로 읽습니다. 시간을 64비트로 저장하는 시스템은 영향이 없습니다. 임베디드 기기, 오래된 파일 형식, 32비트 데이터베이스 열을 점검해야 합니다.
초, 밀리초, 마이크로초
단위는 숫자와 함께 저장되지 않습니다. 오늘날 초 단위 타임스탬프는 10자리, 밀리초는 13자리, 마이크로초는 16자리, 나노초는 19자리입니다. 자릿수를 세는 것이 단위를 짐작하는 가장 빠른 방법이며, 10자리 초 값은 대략 2001년부터 2286년 사이의 날짜일 때 맞습니다.
| 단위 | 현재 자릿수 | 예 (2026-01-01T00:00:00Z) | 주로 보이는 곳 |
|---|---|---|---|
| 초 | 10 | 1767225600 | 유닉스 도구, 파이썬 time.time(), PHP time(), SQL |
| 밀리초 | 13 | 1767225600000 | 자바스크립트 Date.now(), 자바 System.currentTimeMillis() |
| 마이크로초 | 16 | 1767225600000000 | 파이썬 datetime, 일부 데이터베이스 |
| 나노초 | 19 | 1767225600000000000 | Go time.UnixNano(), 트레이싱 시스템 |
기준이 되는 타임스탬프
아래 값은 이 도구로 변환한 것이며 검산할 때 유용합니다.
| 타임스탬프(초) | UTC 날짜·시간 | 의미 |
|---|---|---|
| 0 | 1970-01-01 00:00:00 | 에포크 |
| 1000000000 | 2001-09-09 01:46:40 | 10억 초 |
| 1234567890 | 2009-02-13 23:31:30 | 자주 쓰는 테스트 값 |
| 1700000000 | 2023-11-14 22:13:20 | 최근 몇 년의 딱 떨어지는 값 |
| 1767225600 | 2026-01-01 00:00:00 | 2026년 새해(UTC) |
| 2147483647 | 2038-01-19 03:14:07 | 부호 있는 32비트의 최댓값 |
| -86400 | 1969-12-31 00:00:00 | 음수는 에포크 이전 |
코드에서 현재 타임스탬프 얻기
언어별 관용구를 쓰되 단위를 확인하세요.
JavaScript Math.floor(Date.now() / 1000) // 초
Date.now() // 밀리초
Python int(time.time()) # 초
Java System.currentTimeMillis() / 1000 // 초
Go time.Now().Unix() // 초
PostgreSQL extract(epoch from now())
MySQL UNIX_TIMESTAMP()
Excel =(A1 / 86400) + DATE(1970,1,1) // A1이 초 단위일 때실제 예시
1767225600 (단위: 자동 감지)감지된 단위: 초
유닉스 초: 1767225600
유닉스 밀리초: 1767225600000
ISO 8601 (UTC): 2026-01-01T00:00:00Z
RFC 2822 (UTC): Thu, 01 Jan 2026 00:00:00 +0000
서울: 2026-01-01T09:00:00+09:00
뉴욕: 2025-12-31T19:00:00-05:00내 시간대와 추가한 시간대의 값은 설정에 따라 달라지고, UTC 값은 같습니다.
1767225600 (단위를 밀리초로 고정)유닉스 초: 1767225
유닉스 밀리초: 1767225600
ISO 8601 (UTC): 1970-01-21T10:53:45.600Z단위를 잘못 고르면 1970년 1월로 떨어집니다. 날짜가 1970년으로 나오면 거의 틀림없이 초 값을 밀리초 칸에 넣은 것입니다.
1767225600000 (단위를 초로 고정)ISO 8601 (UTC): +057971-02-25T00:00:00Z반대 실수는 57971년으로 보냅니다. 자동 감지에서는 13자리 값을 밀리초로 읽습니다.
2026-03-08T12:00:00+09:00 (날짜 칸에 입력)유닉스 초: 1772938800
유닉스 밀리초: 1772938800000
ISO 8601 (UTC): 2026-03-08T03:00:00Z+09:00 오프셋이 빠지므로 서울의 정오는 UTC 03:00입니다.
2147483647, 2147483648 (자동 감지, 일괄 변환 칸에 한 줄씩)2147483647 -> 2038-01-19T03:14:07Z
2147483648 -> 2038-01-19T03:14:08Z자바스크립트는 64비트 숫자를 써서 계속 셉니다. 부호 있는 32비트 정수라면 여기서 음수로 넘어갑니다.
자주 하는 실수
초와 밀리초 혼동
1970년이나 먼 미래의 날짜가 나오는 이유 1순위입니다. 자릿수를 세세요. 10자리는 초, 13자리는 밀리초입니다. 자동 감지는 1973년 3월 이후 날짜에서 이를 처리하지만, 에포크 하루 뒤인 86400000처럼 작은 밀리초 값은 초로 보이므로 날짜가 이상하면 단위를 직접 고정하세요.
시간대 없는 날짜 문자열
이 도구는
2026-01-01이나2026-01-01 00:00:00처럼 오프셋 없는 날짜·시간을 날짜 칸 아래에서 고른 시간대(기본은 내 시간대)로 읽으므로 선택에 따라 타임스탬프가 달라집니다.Z나+09:00같은 오프셋을 붙여 모호함을 없애세요. 시계가 건너뛰어 존재하지 않는 시각은 다음 유효한 시각으로, 두 번 있는 시각은 이른 쪽으로 읽고 그 사실을 알려 줍니다.로컬 시간은 UTC가 아님
로컬 줄은 기기의 시간대와 일광절약시간 규칙을 따릅니다. 결과를 티켓이나 로그에 붙일 때는 ISO 8601이나 UTC 값을 써야 다른 사람도 같은 시점을 읽습니다.
타임스탬프에는 시간대가 없어 정렬해도 안전
타임스탬프끼리의 비교는 어디서 만들었든 정확합니다. 저장과 비교는 UTC로 하고 표시할 때만 로컬 시간대로 바꾸세요.
자바스크립트 날짜의 범위와 파싱
자바스크립트 날짜는 에포크 전후 약 ±8.64e15 밀리초까지만 표현하므로, 16자리 값을 초로 읽는 것 같은 아주 큰 값은 범위 오류가 납니다. 지원하는 숫자 날짜 형식도 아니고 명시적 오프셋이 있는 RFC 2822도 아닌
March 1, 2026같은 자유 형식 문자열은 거부되므로 가능하면 ISO 8601을 쓰세요.
자주 묻는 질문
유닉스 타임스탬프가 무엇인가요?
1970-01-01 00:00:00 UTC(유닉스 에포크) 이후 흐른 초의 수이며 윤초는 무시합니다. 어떤 시간대와도 무관하게 한 시점을 가리킵니다.
타임스탬프가 초인지 밀리초인지 어떻게 알 수 있나요?
자릿수를 세면 됩니다. 2001~2286년 사이 날짜라면 10자리는 초, 13자리는 밀리초입니다. 16자리는 보통 마이크로초, 19자리는 나노초입니다.
타임스탬프를 날짜로 바꾸려면 어떻게 하나요?
타임스탬프 칸에 숫자를 입력하면 단위가 자동으로 감지되고(직접 고를 수도 있음) 날짜가 바로 나옵니다. 예를 들어 1767225600초는 2026-01-01T00:00:00Z입니다.
특정 날짜의 유닉스 타임스탬프는 어떻게 구하나요?
날짜 칸에 2026-01-01T00:00:00Z처럼 Z나 오프셋이 붙은 ISO 8601 형식으로 입력합니다. 유닉스 초 값이 타임스탬프이며 이 예에서는 1767225600입니다.
2038년에는 무슨 일이 생기나요?
부호 있는 32비트 타임스탬프는 2147483647(2038-01-19 03:14:07 UTC) 이후 넘칩니다. 시간을 64비트로 저장하는 소프트웨어는 영향이 없습니다.
유닉스 시간에 윤초가 포함되나요?
아니요. 하루를 정확히 86,400초로 취급하므로 1972년 이후 추가된 윤초 27번은 따로 세지 않습니다.
변환한 날짜의 시각이 이상하게 나오는 이유가 뭔가요?
내 시간대 행은 일광절약시간을 포함한 기기의 시간대 기준이고, 오프셋 없이 입력한 날짜는 날짜 칸 아래에서 고른 시간대로 읽습니다. UTC 값은 누구에게나 같으니 그것과 비교하세요.
입력한 값이 서버로 전송되나요?
아니요. 브라우저 내장 날짜 함수로 변환하며 아무것도 업로드하지 않습니다.
더 깊이 읽기
마지막 업데이트:
