Unix epoch ↔ 날짜 변환. 초 · 밀리초 · 마이크로초 · 나노초 자릿수로 자동 감지합니다.
Unix 타임스탬프(epoch time)는 1970년 1월 1일 00:00:00 UTC부터 흐른 시간을 하나의 숫자로 나타낸 것입니다. 시간대와 무관한 절대 시각이라 데이터베이스, 로그, API, JWT 등에서 널리 쓰입니다. 같은 숫자라도 한국에서는 UTC보다 9시간 빠른 시각으로 보이므로, KST와 UTC를 함께 확인하는 것이 안전합니다.
같은 "2025-10-05 09:00"이라도 어느 시간대의 시각이냐에 따라 타임스탬프가 달라집니다. KST로 고르면 1759622400, UTC로 고르면 9시간 뒤인 1759654800이 나옵니다. 서버 로그나 DB 값이 UTC로 저장되어 있다면 UTC를, 사용자가 화면에서 본 한국 시간을 옮길 때는 KST를 선택하세요. "브라우저 로컬"은 지금 쓰는 컴퓨터의 시간대 설정을 따릅니다.
| 정수부 자릿수 | 단위 | 예시 (2025-10-05 09:00 KST) |
|---|---|---|
| 11자리 이하 | 초 (s) | 1759622400 |
| 12–14자리 | 밀리초 (ms) | 1759622400000 |
| 15–17자리 | 마이크로초 (μs) | 1759622400000000 |
| 18자리 이상 | 나노초 (ns) | 1759622400000000000 |
JavaScript의 Date.now(), Java의 System.currentTimeMillis()는 밀리초, Unix 셸의 date +%s, Python의 int(time.time()), PHP의 time()은 초 단위입니다. 음수(1970년 이전)와 소수점도 입력할 수 있습니다.
자릿수 기준이라 1973년 3월 이전을 밀리초로 넣는 경우처럼 자릿수가 적은 값은 다른 단위로 해석될 수 있습니다. 결과 옆에 표시된 단위를 꼭 확인하세요. 마이크로초·나노초는 밀리초로 반올림해 표시하므로 그 이하 정밀도는 사라집니다.
| 타임스탬프 (초) | 한국 시간 (KST) | 비고 |
|---|---|---|
0 | 1970-01-01 09:00:00 | Unix epoch (UTC 자정) |
1000000000 | 2001-09-09 10:46:40 | 10자리가 된 순간 |
1234567890 | 2009-02-14 08:31:30 | UTC로는 2/13 23:31:30 |
1700000000 | 2023-11-15 07:13:20 | |
1767193200 | 2026-01-01 00:00:00 | 2026년 시작 (KST) |
1798729200 | 2027-01-01 00:00:00 | 2027년 시작 (KST) |
1800000000 | 2027-01-15 17:00:00 | |
2147483647 | 2038-01-19 12:14:07 | 부호 있는 32비트 최댓값 |
| 환경 | 코드 | 단위 |
|---|---|---|
| JavaScript | Date.now() / Math.floor(Date.now() / 1000) | ms / 초 |
| Python | time.time(), datetime.now(timezone.utc).timestamp() | 초 (소수) |
| Java | System.currentTimeMillis(), Instant.now().getEpochSecond() | ms / 초 |
| MySQL | UNIX_TIMESTAMP(), FROM_UNIXTIME(1792249200) | 초 |
| PostgreSQL | extract(epoch from now()), to_timestamp(1792249200) | 초 |
| 셸 (Linux) | date +%s, date -d @1792249200 | 초 |
1792249200(10자리)을 넣으면 초로 판별해 2026-10-18 00:00:00 KST, UTC로는 2026-10-17 15:00:00, ISO 8601로는 2026-10-17T15:00:00.000Z가 나와요.new Date(1792249200)에 그대로 넣으면 밀리초로 읽혀 1970-01-22 02:50:49 KST가 돼요. 화면에 1970년 1월 날짜가 보이면 대부분 이 실수라 × 1000이 빠졌는지 보세요.-1은 epoch 1초 전인 1970-01-01 08:59:59 KST(UTC 1969-12-31 23:59:59)예요. 1970년 이전 생년월일도 음수로 저장할 수 있어요.API에서 많이 쓰는 2026-10-18T00:00:00+09:00은 RFC 3339 형식이에요. 끝의 Z는 UTC(+00:00), +09:00은 한국 시간이라는 뜻이고, 둘은 9시간 차이 나는 같은 순간을 가리킬 수 있어요. 시간대 표시가 없는 2026-10-18T00:00:00은 받는 쪽이 아무 시간대로나 해석할 수 있어 위험해요.
DATETIME은 시간대 정보 없이 저장되고 TIMESTAMP는 UTC로 바꿔 저장해요. 같은 값을 두 타입으로 비교하면 9시간이 어긋날 수 있어요.두 날짜 사이 일수는 날짜 차이 계산, 크론 작업이 언제 돌지는 크론 표현식 해석기에서 볼 수 있어요.
=A1/86400+DATE(1970,1,1)로 UTC 날짜를, 한국 시간이 필요하면 +9/24를 더하세요. 셀 서식을 날짜/시간으로 바꿔야 보입니다.2147483647)에서 넘칩니다. 대부분의 최신 시스템은 64비트를 써서 문제없지만, 오래된 임베디드 장비나 DB 컬럼은 점검이 필요합니다.