에포크 타임스탬프 설명: Unix 시간, POSIX 시간, 1970년 이후의 초

에포크 타임스탬프는 어떤 순간을 고정된 시작점 이후 경과 시간으로 나타내는 간결한 방법입니다. 이 가이드는 Unix 시간, POSIX 타임스탬프, Unix 에포크 날짜, 그리고 왜 1970년 UTC 이후의 초가 소프트웨어의 기본이 되었는지 설명합니다.

epoch 타임스탬프란?

epoch 타임스탬프는 에포크라고 부르는 고정된 기준 시점에서 측정한 숫자 경과량입니다. 개발자의 일상적 용법에서 epoch 타임스탬프는 보통 Unix 타임스탬프를 뜻합니다: 1970년 1월 1일 00:00:00 UTC 이후의 초 수입니다. 값 0은 정확히 Unix 에포크입니다. 양수는 1970년 이후, 음수는 그 이전을 나타냅니다.

Unix 시간 vs POSIX 타임스탬프

Unix 시간과 POSIX 타임스탬프는 애플리케이션 코드에서 보통 같은 의미로 쓰입니다. 둘 다 Unix 에포크 이후 경과한 초를 가리키며, civil time을 단순화하기 위해 윤초를 무시합니다. 실용적으로는 운영체제, 언어, 데이터베이스, API, 로그 파일 전반에서 동작하는 안정적인 정수가 됩니다.

  • Unix 에포크 날짜: 1970-01-01 00:00:00 UTC
  • Unix 타임스탬프 0: Unix 에포크의 정확한 시작
  • POSIX 타임스탬프: POSIX 호환 시스템에서 Unix 에포크 이후의 초
  • epoch 밀리초: 같은 에포크지만 밀리초로 셈
  • epoch 마이크로초·나노초: 데이터베이스와 트레이싱을 위한 더 높은 정밀도

왜 1970년 기준 타임스탬프가 표준이 되었나

Unix 에포크는 초기 Unix 시스템에 실용적이었고, Unix의 아이디어가 C 라이브러리, Linux, 데이터베이스, 웹 서버, 프로그래밍 언어로 퍼지면서 관례가 되었습니다. 단일 숫자 타임스탬프는 지역화된 날짜 문자열보다 정렬, 비교, 전송, 저장이 쉽습니다.

epoch 타임스탬프 예시

몇 가지 알려진 값이 있으면 정의를 기억하기 쉽습니다.

  • 0 = 1970-01-01 00:00:00 UTC
  • 1 = 1970-01-01 00:00:01 UTC
  • 86400 = 1970-01-02 00:00:00 UTC
  • 1700000000 = 2023-11-14 22:13:20 UTC
  • 1767225600 = 2026-01-01 00:00:00 UTC

epoch 타임스탬프 FAQ

에포크 시간은 Unix 시간과 같나요?
개발자의 일반적 용법에서는 같습니다. 에포크 시간은 보통 Unix 시간을 뜻합니다: 1970-01-01 00:00:00 UTC 이후 경과한 초입니다.
Unix 시간의 정의는?
Unix 시간은 윤초를 세지 않고 1970-01-01 00:00:00 UTC 이후의 초로 정의됩니다.
POSIX 타임스탬프는 시간대를 인식하나요?
아니요. POSIX 타임스탬프는 하나의 순간을 나타냅니다. 시간대는 그 순간을 읽기 쉬운 날짜로 포맷할 때만 적용됩니다.
epoch 타임스탬프는 Windows, Linux, macOS에서 같나요?
Unix 에포크(1970-01-01 00:00:00 UTC)는 현대 플랫폼과 언어에서 동일하므로, 같은 순간이면 어디서나 같은 Unix 타임스탬프가 됩니다. Windows는 내부적으로 자체 FILETIME 에포크(1601)를 쓰지만, 표준 Unix·POSIX 타임스탬프는 1970년을 씁니다.