MCP로 연결 →

계산 입력

기본값은 UTC+9(일본 시간)입니다. UTC보다 늦은 시간대는 음수 값을 사용하세요.

공식

광고

결과

유닉스 시간
1,749,913,200
1970-01-01 00:00:00 UTC 이후의 초
정의 POSIX 시간 (윤초 미적용)
에포크 1970-01-01 00:00:00 UTC

유닉스 시간이란?

유닉스 시간(UNIX 타임스탬프 또는 POSIX 시간이라고도 합니다)은 유닉스 에포크인 1970-01-01 00:00:00 UTC를 기준으로 흘러간 초의 누적값입니다. 특정 순간을 하나의 정수로 표현하는 보편적이고 언어 중립적인 방식으로, 로그·데이터베이스·API·프로그래밍 등 컴퓨팅 전반에서 널리 쓰입니다. 윤초는 반영하지 않으며, 하루는 언제나 정확히 86,400초로 계산합니다.

UNIX 에포크 시작점과 앞으로 흐르는 초를 보여주는 타임라인
UNIX 시간은 기준점(에포크) 1970-01-01 00:00:00 UTC 이후 경과한 초를 셉니다.

계산기 사용법

벽시계에 표시되는 그대로의 날짜(연·월·일)와 시각(시·분·초)을 입력하세요. 그런 다음 "UTC와의 시차"에 해당 지역 시간의 시간대 오프셋을 시간 단위로 설정합니다. 예를 들어 일본은 +9, 인도는 +5.5, 미국 태평양 표준시(PST)는 -8입니다. 참고로 한국 표준시(KST)도 +9입니다. 기본 오프셋은 +9(일본 시간)로 설정되어 있습니다. 시·분·초를 비워 두면 0으로 처리됩니다.

공식 설명

먼저 날짜를 days-from-civil 알고리즘(Howard Hinnant 고안)을 사용해 일수로 변환합니다. 이 알고리즘은 윤년과 1970년 이전 날짜를 포함한 모든 그레고리력 날짜에 대해 에포크 기준 일수를 정확히 계산합니다. 그 일수에 86,400을 곱하고 시·분·초를 더하면 현지 시각 기준으로 1970-01-01 00:00:00부터의 초가 됩니다. 마지막으로 UTC 오프셋(시간 × 3600)을 빼서 결과를 UTC 기준으로 보정합니다.

$$ \begin{gathered} t = 86400 \cdot D + 3600\,\text{Hour} + 60\,\text{Minute} + \text{Second} - 3600\,\text{UTC Offset} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} D &= \text{days from } 1970\text{-}01\text{-}01 \text{ to the chosen date} \\ \text{date} &= \left(\text{Year},\ \text{Month},\ \text{Day}\right) \end{aligned} \right. \end{gathered} $$
광고
날짜와 시간을 일, 시, 분, 초와 UTC 오프셋 보정으로 분해한 다이어그램
이 공식은 일, 시, 분, 초를 더한 뒤 UTC 오프셋을 뺍니다.

계산 예시

오프셋 +9에서 2025-06-15 00:00:00을 변환하면: daysSinceEpoch = 20254이므로 \(\text{localSeconds} = 20254 \times 86400 = 1{,}749{,}945{,}600\)입니다. 여기서 \(9 \times 3600 = 32{,}400\)을 빼면 유닉스 시간 1,749,913,200이 되며, 이는 2025-06-14 15:00:00 UTC에 해당합니다.

자주 묻는 질문

양수 오프셋인데 왜 타임스탬프가 예상보다 작게 나오나요? UTC보다 앞선 현지 시각은 더 이른 UTC 순간에 대응하기 때문입니다. 따라서 같은 벽시계 값을 UTC로 그대로 읽었을 때보다 유닉스 값이 더 작아집니다.

1970년 이전 날짜도 처리할 수 있나요? 네, 결과가 단순히 음수로 나올 뿐입니다. 1969-12-31 23:59:59 UTC는 \(-1\)입니다.

윤초가 포함되나요? 아니요. 하루를 정확히 86,400초로 보는 표준 POSIX 정의를 따릅니다.

최종 업데이트: