본문 바로가기
프로그래밍/[Python] 파이썬

Epoch time(에포크 시간)에 대하여

by GenieIT* 2025. 1. 5.
728x90
반응형
728x90
반응형

 

1. Epoch time(에포크 시간)이란?

에포크 시간(Epoch time)은 컴퓨터 시스템에서 시간을 표현하는 방법 중 하나로, **기준 시간(Epoch)**으로부터 경과된 시간을 초 단위로 나타냅니다.

 


 

2. 에포크 시간의 기준

  • 대부분의 컴퓨터 시스템은 1970년 1월 1일 00:00:00 UTC를 에포크 기준으로 사용합니다.
  • 이 기준은 **유닉스 시간(Unix Time)**이라고도 하며, 유닉스 운영 체제에서 처음 사용되었습니다.

 


 

3. 에포크 시간의 특징

  1. 초 단위의 표현 :
    • 에포크 시간은 1970년 1월 1일부터 현재까지의 시간을 초 단위의 숫자로 표현합니다.
    • 부동소수점으로 표현되기도 하며, 소수점 아래는 밀리초, 마이크로초를 나타낼 수 있습니다.
  2. 양수와 음수 :
    • 양수: 1970년 이후의 시간 (예: 2025년 1월 4일).
    • 음수: 1970년 이전의 시간 (예: 1969년 12월 31일).
  3. UCT 기반 :
    • 에포크 시간은 UTC(협정 세계시)를 기준으로 하며, 시간대와 무관하게 동일합니다.

 


 

4. 파이썬에서 Epoch time 사용

4-1. 현재 에포크 시간 가져오기

import time

print(time.time())  # 예: 1736042905.7331064

 

4-2. 에포크 시간을 날짜/시간으로 변환

from datetime import datetime

# 에포크 시간
epoch_time = 1736043009.7224257

# datetime 객체로 변환
dt = datetime.fromtimestamp(epoch_time)
print(dt)  # 예: 2025-01-05 11:10:09.722426

 

4-3. 날짜/시간을 에포크 시간으로 변환

from datetime import datetime

# 특정 날짜/시간
dt = datetime(2025, 1, 5, 11, 11)

# 에포크 시간으로 변환
epoch_time = dt.timestamp()
print(epoch_time)  # 예: 1736043060.0

 


 

5. 에포크 시간의 활용

  1. 시스템 간 시간 동기화 :
    • 전 세계에서 동일한 기준(UTC)을 사용하므로, 시스템 간 시간 데이터 교환에 유용합니다.
  2. 시간 비교 및 계산 :
    • 두 에포크 시간 간의 차이를 계산하여 경과 시간을 구할 수 있습니다.
  3. 로그 및 타임스탬프 :
    • 이벤트 발생 시간 기록 및 추적에 사용됩니다.

 


 

6. 추가 정보

  • 에포크 시간은 주로 유닉스 계열 시스템(Linux, macOS)에서 사용되며, 윈도우도 지원합니다.
  • 에포크 시간의 최대값은 사용된 데이터 타입(32비트, 64비트)에 따라 다릅니다 :
    • 32비트: 2038년 1월 19일 03:14:07 UTC에서 오버플로우 발생.
    • 64비트: 사실상 제한 없음.

 


 

 

 

 

 

728x90
반응형