2021-05-21 08:17:30

시차를 고려하다보면 시간을 더하거나 빼야하는 경우들이 생기곤 합니다. 파이썬에서 날짜나 시간을 조작할 때는 datetime 모듈을 자주 사용합니다. 오늘은 datetime.datetime 객체에 일, 시간, 분, 초 등을 더하거나 빼는 방법에 대해서 살펴보겠습니다.   

 

우선 datetime.datetime.now()를 이용해서 현재 날짜와 시간을 확인해보겠습니다. 

 

 

2021년 5월 18일 23시 2분 51초 839113 이네요. 

 

그럼 여기에 5시간을 더해보겠습니다. 이때는 datetime.timedelta 객체를 활용해야 합니다.

 

timedelta 사용법

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

 

시간을 더할 것이니 "hours = 시간"을 전달해줍니다.  

 

 

더했더니 하루가 지나서 2021년 5월 19일 4시 4분 25초가 되었네요. 분, 초가 정확히 떨어지지 않는 것은 제가 조금 시간이 지난 후에 위 코드를 실행했기 때문입니다. 

 

이번에는 현재 시각에 2일을 더해보겠습니다. days를 전달해줘야합니다. 

 

 

그랬더니 5월 18일이 5월 20일로 바뀌었습니다. 

 

이번에는 15분을 빼보겠습니다. minutes를 전달하면 되겠죠? 

 

 

23시 8분에서 15분 빠져서 22시 53이 되었습니다.

 

시간, 분, 초 등을 동시에 더하거나 빼줄 수도 있습니다. 콤마로 구분해서 넣어주면 됩니다. 

 

 

관련 글

- [python] 현재 시간 출력하기 (+살아온 날 수 계산하기)  

- [python] 이번 달의 첫 시간과 마지막 시간을 알고 싶다면? 2021-01-01 00:00:00 과 2021-01-31 23:59:59   

- [python] 문자열 4/21/2021 을 April 21, 2021 또는 2021-04-21로 바꾸려면? (datetime 활용)