개발하는 프로젝트에 스케쥴링 관련 사항이 있다면 반드시 써야 하는 기능이 바로 datetime 모듈이다.

datetime 모듈은 기본 내장 모듈로 대부분의 날짜 관련 기능을 지원하는 강력한 모듈이다


Heroku에 flask서버를 올리게 됐는데, 입력 받은 시점을 기록해야 하는 기능이 필요해서 위 모듈을 쓰게 됐다.

그런데 Heroku region을 미국으로 설정했더니 현재 시점의 시간의 미국기준으로 출력되는 현상이 발생했다.(참고로 우리나라 시간보다 9시간 전)


이런저런 해결책을 찾아봤는데 그냥 단순하게 서버 시간에서 9시간을 추가 하는게 가장 간단한 방법이라 시간을 더하고 빼는 기능을 찾아보았다.


간단하게 이야기해서 "현재시점 구하기" --> "더하거나 뺄 시간을 만들기" --> "+ or - 하기 " 이런 순서를 따른다.


python에서는 시간 단위를 만들기 위해서 timedelta()라는 함수를 이용한다.

아래 사이트를 참고하자면 다음과 같다


class datetime.timedelta([days[seconds[microseconds[milliseconds[minutes[hours[weeks]]]]]]])


예를 들어 9시간 전이라면 아래와 같다.


import datetime


currentTime = datetime.datetime.today()

nineHours = datetime.timedelta(hours=9)


nineHoursAfter = currentTime + nineHours


참고사이트

http://egloos.zum.com/oniondev/v/9687574

+ Recent posts