유닉스 타임스탬프 변환기 (에포크 → 날짜)
초, 밀리초, 마이크로초, 나노초 단위의 타임스탬프(구분 기호 유무와 관계없이)나 날짜 문자열을 붙여 넣으면 단위를 자동으로 감지해요. 원하는 시간대의 읽기 쉬운 날짜로 변환하거나 거꾸로 변환할 수 있으며, ISO 8601과 RFC 2822 형식으로 출력해요.
타임스탬프 → 날짜
초(으)로 자동 인식했어요 (10자리).
날짜 → 타임스탬프
주요 기간의 초 단위 값
Unix 시간은 윤초를 무시해요. 하루는 항상 정확히 86,400초예요.
빠른 답변 및 핵심 에포크 공식
빠른 답변: 유닉스 타임스탬프는 1970-01-01 00:00:00 UTC 이후 경과한 초를 세요. 날짜를 구하려면 에포크에 그만큼의 초를 더해요: days = ⌊t ÷ 86,400⌋. 코드에서 타임스탬프를 얻으려면 JavaScript에서는 Math.floor(Date.now() / 1000), 셸에서는 date +%s를 사용해요. 10자리 값은 초, 13자리 값은 밀리초예요.
유닉스 시간과 변환 계산 이해하기
유닉스 시간(POSIX 시간)은 유닉스 에포크, 즉 1970년 1월 1일 자정(UTC) 이후 경과한 초를 세는 하나의 정수예요. 시간대나 서머타임 규칙이 없으므로 데이터베이스, 로그, API, 파일 시스템에서 특정 시점을 저장하고 비교하는 표준 방식으로 쓰여요.
1. 타임스탬프를 날짜로 (에포크 → UTC)
타임스탬프를 일 수와 남은 초로 나눈 뒤, 1970년 1월 1일부터 그 일 수만큼 앞으로 세요:
예시: 1,700,000,000 ÷ 86,400 = 19,675일 + 80,000초(22:13:20) → 2023-11-14 22:13:20 UTC.
2. 날짜를 타임스탬프로 (UTC → 에포크)
1970-01-01 이후의 일 수를 세어 초로 변환하고, 하루 중 시각을 더한 다음 시간대의 UTC 오프셋을 빼요:
예시: 2026-01-01 00:00 UTC는 20,454일 × 86,400 = 1,767,225,600이에요.
초일까, 밀리초일까? 자릿수를 세어 보세요
현재 날짜 기준으로 10자리는 초, 13자리는 밀리초예요(16자리 = 마이크로초, 19자리 = 나노초). JavaScript와 Java는 밀리초를 쓰고, 유닉스 셸, PHP, Python의 time.time()은 초를 써요:
1767225600(10자리)과 1767225600000(13자리)은 같은 시점이에요: 2026-01-01 00:00 UTC.
주목할 만한 유닉스 타임스탬프
| 타임스탬프 | UTC 날짜 및 시각 | 의미 |
|---|---|---|
| −2,208,988,800 | 1900-01-01 00:00:00 | NTP 에포크 — 음수 유닉스 시간 |
| 0 | 1970-01-01 00:00:00 | 유닉스 에포크 |
| 1,000,000,000 | 2001-09-09 01:46:40 | 유닉스 '빌레니엄(10억 초)' |
| 1,234,567,890 | 2009-02-13 23:31:30 | 개발자들이 기념한 연속 숫자 |
| 1,700,000,000 | 2023-11-14 22:13:20 | 17억 초 |
| 2,000,000,000 | 2033-05-18 03:33:20 | 20억 초 |
| 2,147,483,647 | 2038-01-19 03:14:07 | 부호 있는 32비트 최댓값 (2038년 문제) |
자주 묻는 질문
유닉스 타임스탬프란 무엇인가요?
유닉스 타임스탬프는 1970년 1월 1일 00:00:00 UTC 이후 경과한 초의 수이며, 윤초는 세지 않아요. 시간대와 무관하므로 같은 시점은 어디서나 같은 타임스탬프를 가져요.
유닉스 시간은 윤초를 세나요?
아니요. 유닉스 시간은 모든 날을 정확히 86,400초로 취급해요. 윤초가 발생하면 시계가 1초를 반복하거나 분산시켜 유닉스 시간이 UTC 날짜와 맞게 유지돼요.
2038년 문제란 무엇인가요?
시간을 부호 있는 32비트 정수로 저장하는 시스템은 2,147,483,647까지만 셀 수 있으며, 이는 2038년 1월 19일 03:14:07 UTC예요. 1초 뒤에는 값이 오버플로되어 1901년의 날짜가 돼요. 최신 64비트 시스템은 영향을 받지 않아요.
코드에서 현재 유닉스 타임스탬프는 어떻게 얻나요?
JavaScript: Math.floor(Date.now() / 1000). Python: int(time.time()). PHP: time(). Bash: date +%s. SQL(PostgreSQL): EXTRACT(EPOCH FROM NOW()).
변환기는 타임스탬프가 초인지 밀리초인지 어떻게 아나요?
값의 크기를 봐요. 1973년부터 5138년 사이의 날짜라면 초는 9~11자리, 밀리초는 12~14자리, 마이크로초는 15~17자리, 나노초는 18자리 이상이에요. 1,767,225,600 같은 구분 기호, ms 같은 단위 접미사, 2026-01-01T00:00:00Z 같은 날짜 문자열도 인식하며, 단위를 직접 지정할 수도 있어요.