틱(Tick)의 기본 개념
파이썬에서 시간 간격(time interval)은 초(second)를 단위로 하는 부동소수점 숫자(float)로 표현됩니다. 특정 시점은 1970년 1월 1일 자정(00:00)을 기준으로 경과한 초 단위 값으로 나타내며, 이 기준 시점을 에포크(epoch)라고 부릅니다.
파이썬에는 시간 관련 작업과 서로 다른 시간 표현 방식 간의 변환을 지원하는 널리 사용되는 time 모듈이 내장되어 있습니다. 이 모듈의 time.time() 함수를 호출하면 1970년 1월 1일 자정 이후 경과한 현재 시스템 시간을 틱(tick) 단위로 반환받을 수 있습니다.
예제 코드
#!/usr/bin/python3
import time # time 모듈을 임포트합니다.
ticks = time.time()
print("1970년 1월 1일 자정 이후 경과한 틱 수:", ticks)실행 결과
위 코드를 실행하면 다음과 유사한 결과가 출력됩니다.
1970년 1월 1일 자정 이후 경과한 틱 수: 7186862.73399
틱 활용 시 알아두어야 할 한계
틱 값을 사용하면 날짜 간의 덧셈·뺄셈 같은 날짜 연산을 매우 간편하게 처리할 수 있습니다. 하지만 몇 가지 주의해야 할 제약도 존재합니다.
첫째, 에포크(1970년 1월 1일) 이전의 날짜는 이 방식으로 표현할 수 없습니다. 둘째, 먼 미래의 날짜 역시 표현이 불가능합니다. UNIX 및 Windows 시스템에서는 2038년경을 기점으로 표현 가능 범위가 끝나는데, 이것이 흔히 말하는 '2038년 문제(Y2K38)''로 알려진 제약입니다. 따라서 과거의 오래된 날짜나 아주 먼 미래의 일정을 다룰 때는 datetime 모듈 등 다른 방식을 함께 고려하는 것이 좋습니다.