나는 파이썬에서 UTCDateTime 객체를 가지고 있으며, 그 객체가 오늘 이후에 있지만 내년 내에 있는지 확인해야한다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?Datetime 만료 내년
미리 감사드립니다.
13 개월에서 1 년으로 변경되었습니다.
나는 파이썬에서 UTCDateTime 객체를 가지고 있으며, 그 객체가 오늘 이후에 있지만 내년 내에 있는지 확인해야한다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?Datetime 만료 내년
미리 감사드립니다.
13 개월에서 1 년으로 변경되었습니다.
now = datetime.datetime.utcnow()
if now.month < 12:
expire_date = now.replace(year=now.year + 1, month=now.month + 1)
else:
expire_date = now.replace(year=now.year + 2, month=0)
비록 2 월 31 일부터 1 월 31 일에 실행하면이 오류가 계속 발생합니다. 이러한 문제를 피하기 위해 달 의존성과 관련된 몇 가지 조건을 추가 할 수 있습니다.
12 개월 (re : comment)으로 변경하면 윤년에 대해서만 걱정할 필요가 있습니다. dateutil
모듈은 당신을 위해 이것을 처리 할 수
now = datetime.datetime.utcnow()
exp_year = now.year + 1
exp_month = now.month
exp_day = now.day
if exp_month == 2 and exp_day == 29:
exp_month += 1
exp_day = 1
exp_date = now.replace(year=exp_year, month=exp_month, day=exp_day)
는 (날짜의뿐만 아니라 함께 같은 작품)
from datetime import date
from dateutil import relativedelta
from date import date
d = date(2011, 1, 31)
delta = relativedelta.relativedelta(months=13)
d + delta
#datetime.date(2011, 2, 28)
은 최선의 답변과 가르치기에 대해'dateutil' +1에 대해 몰랐습니다! –
당신이 어떤 수를 13 개월에서 상태를 변경할 수 있다면 당신은 오프 훨씬 더 좋을 것이다 일, 예. 이것이 90 일 보증과 같은 것을 보는 이유입니다. –