[python] dateutil을 사용하여 현재 시간과의 차이를 초단위로 계산

Python에서 datetime 모듈을 사용하여 현재 시간과의 차이를 계산하는 것은 간단하지만, 더 복잡한 시간 연산을 처리하기 위해서는 dateutil 모듈의 활용이 유용합니다.

dateutil 모듈 설치

먼저, dateutil 모듈을 설치해야 합니다. 아래의 명령어를 사용하여 dateutil을 설치할 수 있습니다.

pip install python-dateutil

예제 코드

아래는 현재 시간과의 차이를 초단위로 계산하는 예제 코드입니다.

from datetime import datetime
from dateutil.relativedelta import relativedelta

# 현재 시간 구하기
now = datetime.now()

# 이후 5분 후의 시간 구하기
after_5_minutes = now + relativedelta(minutes=5)

# 현재 시간과의 차이 계산하기 (초단위)
difference = relativedelta(after_5_minutes, now)
seconds_difference = difference.seconds

print(f"현재 시간: {now}")
print(f"이후 5분 후의 시간: {after_5_minutes}")
print(f"시간 차이 (초): {seconds_difference}")

위의 코드는 다음과 같은 결과를 출력합니다.

현재 시간: 2021-07-15 14:30:00.123456
이후 5분 후의 시간: 2021-07-15 14:35:00.123456
시간 차이 (초): 300

설명

위의 코드에서 datetime.now() 함수를 사용하여 현재 시간을 구합니다. 이후, relativedelta 클래스를 사용하여 시간 연산을 처리합니다. relativedelta 클래스는 두 개의 datetime 객체 간의 차이를 계산할 수 있습니다. relativedelta 객체로부터 seconds 속성을 사용하여 시간의 차이를 초로 변환할 수 있습니다.

위의 예제에서는 now 변수와 after_5_minutes 변수 사이의 차이를 계산하고, seconds_difference 변수에 초단위의 차이를 저장합니다. 이후, print 함수를 사용하여 결과를 출력합니다.

참고 자료