파이썬 시간 처리

파이썬에서 연산 시간을 측정하려면 time 모듈을 사용하여 아래 코드와 같이 간단하게 연산 시간을 측정할 수 있다.

import time

start_time = time.time()
for _ in range(100000000):
    pass
print('proc_time =', time.time() - start_time)

시간은 초(sec)단위이며, 소수점 이하는 nano second 이상의 시간을 나타낸다.  참고로, time.time() 함수는 epoch 시간을 기준으로 시간을 측정한다.

 

현재 날짜와 시간을 얻기 위해 datetime 모듈을 사용하며, GMT(UTC) 및 Local Time을 얻을 수 있으며, 아래 코드는 간단히 디데이를 계산하는 것을 나타낸다.

import datetime

today   = datetime.date.today()
someday = datetime.date.fromisoformat('2002-12-01')

print('today      :', today)
print('someday    :', someday)
print('date_delta :', (today - someday))

datetime.date 클래스는 연산자 오버로딩이 구현되어 있어, 위와 같이 두 객체의 뺄셈 연산으로 쉽게 두 날짜 사이의 기간을 구할 수 있다. 위 코드는 이번주의 로또 회차를 알기 위해 로또 시작일과 오늘의 차이를 계산한 것이다.