보통 파이썬으로 시간 관련 작업을 할 때 datetime 라이브러리를 사용한다. 이번 작업에서는 현재시간에서 특정 시간을 더하고 빼는 과정이 필요했는데 그 과정을 포스팅에 담아본다.
from datetime import datetime
now = datetime.now().replace(microsecond=0)
위 라인을 차례대로 인터프리터에 입력해보면 아마 아래와 같은 값이 나올 것이다. (microsecond=0을 준 이유는 해당 옵션을 사용하지 않기 위함임. 제거해도 상관없다.)
datetime.datetime(2019, 3, 25, 12, 38, 46)
위 결과를 통해 알 수 있듯이 now()를 사용하면 현재 시간을 datetime객체로 반환해준다. 또한 내부적으로 __str__ 매직메소드가 구현되어 있기 때문에 print()를 해보면 다음과 같이 년도-월-일 시간-분-초 형태로 확인할 수 있다.
print(datetime.now().replace(microsecond=0)
2019-03-25 12:42:11
print하기전은 datetime 객체이므로 일반적인 + 1등으로 시간을 더하거나 뺄 수 없다. 따라서 객체의 형태를 맞춰서 정해진 형식으로 값을 넣어줘야하는데 이럴 때 timedelta를 사용할 수 있다.
from datetime import datetime, timedelta
now = datetime.now().replace(microsecond=0)
plus = timedelta(seconds=3600)
print(now)
print(now + plus)
print(now - plus)
위와 같이 입력하여 출력해보면 아마 다음과 같은 결과를 얻을 것이다.
2019-03-25 12:44:09
2019-03-25 13:44:09
2019-03-25 11:44:09
현재 시간을 기준으로 3600초를 더하고 뺀 모습을 확인할 수 있다.
'Coding > Python' 카테고리의 다른 글
Django QuerySet에 대하여 (0) | 2019.04.29 |
---|---|
MongoEngine ReferenceField without ObjectId (0) | 2019.03.26 |
MongoEngine EmbeddedDocument/Reference (0) | 2019.03.18 |
Django AWS Elasticache 연동하는 방법 (0) | 2019.03.13 |
Django Restframework Custom User Model 적용 방법 (0) | 2019.02.28 |