Programming/Python

[Python] datetime 날짜, 시간, 분 더하기, 빼기 (현재, 이전, 이후 시간 가져오기)

쌍쌍바나나 2016. 5. 20. 22:00
반응형

들어가며

  로깅을 할때나, 어떤 특정 시간에 Event를 발생하고 싶을 경우에는 현재 시간 및 그 이전, 이후 시간을 가져올 수 있어야 합니다. 특히 로깅을 할때는 현재시간을 가져오는건 필수 중에 필수라고 할 수 있습니다. 또한 현재 시간으로 부터 1시간 뒤에 파일에 저장해 라는 명령을 할때는 특정 시간을 입력하거나, 현재시간으로 부터 1시간을 지정해 주면 됩니다 물론 timestamp에서 1000(1초) * 60 * 60 * 1 과 같이 연산을 통해서도 가능하지만, java의 Calendar와 같은 역할을 하는 datetime을 이용하면 쉽게 할 수 있습니다. datetime은 기본 모듈이고 바로 사용이 가능합니다. datetime.timedelta()를 이용하면 시간에서 일정 시간을 빼고 더할 수 있습니다. timedelta의 parameter로 days, hours, minutes를 이용하면 간편하게 시간 조절이 가능합니다.

 

예제코드

  아래 코드는 현재시간을 가져오는 코드를 기준으로, 1시간 전/후, 내일/어제, 그리고 10분 전/10분 후 시간을 가져오는 예제코드 입니다.
import datetime

# 현재 시간 가져오기
current =  datetime.datetime.now()

# 1시간 후
one_hour_later = current + datetime.timedelta(hours=1)
# 1시간 전
one_hour_ago = current - datetime.timedelta(hours=1)

# 내일 시간
tomorrow = current  + datetime.timedelta(days=1)
# 어제 시간
yesterday = current - datetime.timedelta(days=1)

# 10분 후
ten_minutes_later = current + datetime.timedelta(minutes=10)
# 10분 전
ten_minutes_later = current - datetime.timedelta(minutes=10)



반응형