유닉스 타임스탬프 변환기 — 에포크 시간 ↔ 날짜 변환
에포크 ↔ 날짜 변환 (초~나노초 자동 판별, 날짜 문장 인식, 기간 시작·끝, 코드 예제)
브라우저에서 처리 · 서버로 전송되지 않음
현재 Unix 시각
———
시간대
아래 모든 변환이 이 시간대를 기준으로 계산돼요.
에포크 → 날짜
타임스탬프를 입력하면 날짜가 여기에 나와요.
날짜 → 에포크
칸에서 ↑ ↓ 키로 1씩, Shift와 함께 누르면 10씩 바뀌어요. 첫 칸에 날짜 전체를 붙여 넣으면 모든 칸이 채워져요. 시·분·초는 비워 두면 0이에요.
날짜를 입력하면 초·밀리초·마이크로초·나노초 타임스탬프가 여기에 나와요.
년·월·일의 시작과 끝
선택한 년, 월 또는 일이 시작되는 시각과 마지막 1초의 타임스탬프를 구해요. 서머타임이 있는 날은 하루가 23시간이나 25시간일 수 있어요.
년(월·일)을 입력하면 시작과 끝 타임스탬프가 여기에 나와요.
초를 년·월·일·시간·분으로
초 단위 값을 읽기 쉬운 기간으로 풀어 줘요. 1년은 365.25일(31,557,600초), 1개월은 그 12분의 1(2,629,800초)로 계산하는 어림값이에요.
초 값을 입력하면 기간이 여기에 나와요.
시간 ↔ 초 참고표
| 기간 | 초 |
|---|---|
| 1분 | 60 |
| 1시간 | 3,600 |
| 1일 | 86,400 |
| 1주 | 604,800 |
| 1개월 (30일) | 2,592,000 |
| 1개월 (30.4375일, 평균) | 2,629,800 |
| 1년 (365일) | 31,536,000 |
| 1년 (365.25일, 평균) | 31,557,600 |
유닉스 시간은 윤초를 세지 않고 하루를 늘 86,400초로 칩니다. 윤초가 들어간 날에는 같은 타임스탬프가 두 번 나오거나 시계가 잠시 멈춘 것처럼 보일 수 있어요. 자바스크립트의 Date도 같은 규칙이라 23:59:60을 표현하지 못하고, 이 도구도 초에 60은 받지 않아요.
프로그래밍 언어별 현재 Unix 시간
언어를 고르면 현재 시각을 초(가능하면 밀리초까지)로 출력하는 코드를 보여 줘요.
const millis = Date.now();
const seconds = Math.floor(millis / 1000);
console.log(seconds, millis);소개
유닉스 타임스탬프(에포크)는 1970-01-01 00:00:00 UTC부터 지난 시간을 숫자 하나로 나타낸 값입니다. 로그, 데이터베이스, API 응답, JWT의 exp 값에서 자주 만나지만 눈으로 읽을 수는 없어요. 이 도구는 에포크를 사람이 읽는 날짜로, 날짜를 에포크로 바꿉니다. 맨 위 카드에는 지금의 Unix 시각이 초와 밀리초로 실시간 갱신되고, 옆 카드에서 모든 변환의 기준 시간대를 고릅니다. 년·월·일의 시작과 끝, 초를 기간으로 풀기, 시간↔초 참고표, 프로그래밍 언어별 현재 시간 코드까지 한 페이지에 모아 두었습니다.
사용법
- 에포크 → 날짜: 타임스탬프를 붙여 넣으면 초·밀리초·마이크로초·나노초를 자동으로 판별해 날짜, UTC, ISO 8601, RFC 2822, HTTP 날짜, 상대 시간, 요일, ISO 주차, 그해의 며칠째를 보여 줍니다.
- 날짜 → 에포크: 「칸에 입력」에서 년·월·일·시·분·초(밀리초는 선택)를 따로 적습니다. ↑ ↓ 키로 값을 바꾸고, 첫 칸에 날짜 전체를 붙여 넣으면 모든 칸이 채워지며, 「지금」 버튼은 현재 시각을 넣어 줘요. 오전·오후 표기와 UTC/선택한 시간대 전환도 있습니다.
- 달력·시계 선택기를 쓰고 싶다면 「달력·시계 선택」, 날짜를 문장으로 쓰고 싶다면 「날짜 문장 입력」을 고릅니다. 문장은 입력하는 대로 바로 해석돼요.
- 년·월·일의 시작과 끝에서는 구간 단위와 날짜를 고르면 시작 시각과 마지막 1초의 타임스탬프가 나옵니다.
- 초를 기간으로에는 초 값을 넣으면 몇 년 몇 개월 며칠 몇 시간 몇 분 몇 초인지 풀어 줍니다. 각 결과 옆의 복사 버튼으로 가져가세요.
기준
- 단위 판별(절댓값): 1e11 미만 초, 1e14 미만 밀리초, 1e17 미만 마이크로초, 그 이상 나노초. 음수는 1970년 이전입니다.
- ISO 8601은 UTC(
Z)와 선택한 시간대의 오프셋(+09:00) 두 가지로 보여 줍니다. 마이크로초·나노초 입력은 UTC 값을 9자리 소수 초까지 적습니다. - RFC 2822는 오프셋을 쓰는 이메일 헤더 형식이고, HTTP 날짜는
Date·Expires헤더의 GMT 형식(RFC 9110)입니다. 주차는 ISO 8601 규칙(월요일 시작, 첫 목요일이 든 주가 1주차)을 따릅니다. - 시작과 끝: 시작은 그 시간대의 0시 0분 0초이고, 끝은 다음 구간 시작에서 1초를 뺀 값입니다. 서머타임이 있는 날은 23시간이나 25시간이 되며, 0시가 건너뛰어진 지역에서는 실제로 처음 존재하는 시각을 시작으로 씁니다.
- 기간 변환은 어림값입니다. 1년은 365.25일(31,557,600초), 1개월은 그 12분의 1(2,629,800초)로 계산합니다.
- 2자리 연도는 RFC 5322 규칙(50 미만은 2000년대, 이상은 1900년대)을 따르고, 서머타임으로 존재하지 않는 시각은 오류로 알리며 두 번 오는 시각은 먼저 오는 쪽을 씁니다.
예시
| 입력 | 해석 | UTC 날짜 |
|---|---|---|
0 |
초 | 1970-01-01T00:00:00.000Z |
1700000000 |
초 | 2023-11-14T22:13:20.000Z |
1700000000123 |
밀리초 | 2023-11-14T22:13:20.123Z |
1700000000123456 |
마이크로초 | 2023-11-14T22:13:20.123456000Z |
1700000000123456789 |
나노초 | 2023-11-14T22:13:20.123456789Z |
같은 1700000000을 한국 시간으로 보면 2023-11-15 07:13:20(+09:00)이고, 2026년 10월 4일 오후 3시 5분(서울 기준)은 1791093900입니다.
참고
- 서버 로그와 클라이언트 로그의 시각이 어긋나 보일 때는 단위와 시간대부터 확인하세요. 한쪽이 초, 다른 쪽이 밀리초인 경우가 흔합니다.
- 자바스크립트의
Date.now()는 밀리초, 대부분의 유닉스 도구와 데이터베이스의UNIX_TIMESTAMP()는 초를 돌려줍니다. 하단의 코드 예제에서 언어별 방법을 복사할 수 있어요. - 결과가 1970년 1월로 나온다면 초 값을 밀리초로 읽은 경우입니다. 예를 들어
1700000000을 밀리초로 읽으면 1970년 1월 20일(UTC)이 됩니다. 반대로 수만 년 뒤가 나온다면 밀리초 값을 초로 읽은 경우입니다. 이 도구는 자릿수로 단위를 자동 판별하지만, 단위를 직접 골랐거나 다른 프로그램에서 이런 날짜가 보이면 이 점부터 확인하세요. - 서머타임이 있는 지역(예: America/New_York)에서 봄에 건너뛰는 시각을 입력하면 존재하지 않는 시각이라는 안내가 나옵니다.
- 윤초는 유닉스 시간에 포함되지 않으므로 하루는 언제나 86,400초입니다.
자주 묻는 질문
초·밀리초·마이크로초·나노초는 어떻게 구분하나요?
절댓값 기준으로 1e11 미만은 초, 1e11 이상 1e14 미만은 밀리초, 1e14 이상 1e17 미만은 마이크로초, 1e17 이상은 나노초로 읽습니다. 각 경계는 같은 순간(초로는 5138년, 다음 단위로는 1973년)이라 평소의 날짜끼리는 겹치지 않아요. 1973년 이전을 밀리초로 넣는 식의 예외는 단위 버튼으로 직접 고르세요. 나노초는 2의 53제곱을 넘기 때문에 BigInt로 정확히 계산합니다.
날짜를 타임스탬프로 바꿀 때 어떤 시간대로 계산하나요?
입력한 년·월·일·시·분·초는 선택한 시간대의 벽시계 시각으로 해석하고, UTC 버튼을 누르면 UTC 기준으로 바꿉니다. 같은 2024-01-01 09:00:00이라도 서울 기준과 UTC 기준은 32,400초(9시간) 차이가 나요. 날짜 문장에 +09:00, Z, [Asia/Seoul]처럼 오프셋이나 시간대가 들어 있으면 그 값을 우선합니다.
날짜 문장은 어떤 형식을 읽을 수 있나요?
ISO 8601/RFC 3339(2026-10-04T15:05:00+09:00), RFC 9557(끝에 [Asia/Seoul]), RFC 5322(Sun, 04 Oct 2026 15:05:00 +0900), HTTP-date, 그리고 2026년 10월 4일 오후 3시 5분·10월 4일 2026년·4일 10월 2026년 같은 한글 표기를 읽습니다. 영어 월 이름(Oct 4, 2026 3:05 PM)과 2026/10/04 같은 숫자 표기도 됩니다. 어느 형식으로 읽었는지 바로 아래에 표시하고, 실패하면 이유를 알려 줘요.
2038년 문제가 이 도구에도 영향을 주나요?
아니요. 32비트 부호 있는 정수는 2038-01-19까지만 표현하지만, 이 도구는 자바스크립트 숫자로 계산해 서기 약 275760년까지 처리합니다. 다만 변환하려는 시스템이 32비트 정수를 쓰는지는 따로 확인해야 합니다.
윤초는 어떻게 처리하나요?
유닉스 시간은 윤초를 세지 않고 하루를 항상 86,400초로 계산합니다. 윤초가 들어간 시각에는 같은 타임스탬프가 두 번 나올 수 있어요. 자바스크립트의 Date도 같은 규칙이라 23:59:60을 표현하지 못하고, 이 도구도 초 입력에 60을 받지 않습니다.
입력한 값이 어딘가로 전송되나요?
아니요. 모든 계산은 브라우저의 Date, Intl, BigInt로 이루어지며 서버로 보내지 않습니다.