특정 기간을 계산해야 하는데, 해당 월을 기준으로 첫째 날과 마지막 날을 얻어야 할 때,
참 쉬울 것 같으면서도 당황스럽게 했다.
구글링을 해보고 여러가지 방법들을 보았지만, 너무 많은 방법들을 제시해주고,
또 생각보다 코드들이 길어져서, 원하는 방법이 아니었다.
그러다가 깔끔하게 해결 할 수 있는 방법을 찾아 공유한다.
예를 들어 나는 해당 전달의 첫째 날과 마지막 날을 얻고 싶을 때를 가정하고 해본다.
from datetime import date, timedelta
today = date.today()
print(today)
datetime.date(2019, 12, 7)
#해당 달의 첫째날 구하기
first_day = today.replace(day=1)
print(first_day)
datetime.date(2019, 12, 1)
#전달의 마지막 날 구하기
last_day_month_ago = first_day - timedelta(days=1)
print(last_day_month_ago)
datetime.date(2019, 11, 30)
#전달의 첫째 날 구하기
first_day_month_ago = last_day_month_ago.replace(day=1)
print(first_day_month_ago)
datetime.date(2019, 11, 1)
이렇게 하면 쉽게 구할 수 있다!! 짱 좋은 방법 :)!!!
추가적으로 형태를 "2019-11-1"이런 형태로 얻고 싶다면
last_day_a_month_ago.strftime('%Y-%m-%d')
이렇게 적어주면 해결!
'Python' 카테고리의 다른 글
파이썬 05. 가변인자, 삼항연산자 (0) | 2019.12.28 |
---|---|
파이썬 04. function기본 (0) | 2019.12.28 |
파이썬 03. 컴프리헨션과 연산자 (0) | 2019.12.28 |
파이썬 02. Dictionary 문법 (0) | 2019.12.28 |
파이썬 01. string,list 문법 (0) | 2019.12.28 |