2016-06-14 3 views
-2

나는 누군가가 날과 timedelta로 작업하면서 올바른 방향으로 나를 가리킬 수 있기를 바라고있다.파이썬 : 날짜의 일수를 더하라

필자의 이해로는 날짜에 숫자 (예 : 10 일)를 추가하려면 timedelta로 변환해야합니다. 이것이 맞다면 정수가 될 때 날짜에 어떤 숫자를 추가 할 수 있습니까?

모든 문서 또는 링크가 도움이 될 것입니다. - 감사합니다. 다음과 같이

코드 예제, 내 날짜 :

x = 20100103 (formatted as YYYYMMDD) 
+1

우선 날짜에 숫자를 추가한다는 것은 무엇을 의미합니까? "숫자"란 무엇입니까? 며칠입니까? 파이썬의 [datetime'과'timedelta' types (https://docs.python.org/2/library/datetime.html) 대신 정수를 사용하는 이유는 무엇입니까? – freakish

+0

[이] (http://stackoverflow.com/questions/6871016/adding-5-days-to-date-in-python)을보세요 – nbryans

+0

@ 사과, 당신이 원래 질문을 편집했습니다 맞습니다. 현재 날짜에 일수를 추가하고 싶습니다. –

답변

3
x=20100103 
x2 = int((datetime.datetime.strptime(str(x),"%Y%m%d") + datetime.timedelta(days=10)).strftime("%Y%m%d")) 

가 timedelta로 변환 할 필요가 없습니다 아래

x=20100103 
x_as_datetime = datetime.datetime.strptime(str(x),"%Y%m%d") 
new_datetime = x_as_datetime + datetime.timedelta(days=10) #add your timedelta 
x2 = new_datetime.strftime("%Y%m%d") # format it back how you want 
int(x2) # if you just want an integer ... 
+0

이것은 정말로 도움이되었고 유익했습니다. 추가 고장에 감사드립니다. 완벽하게 일했습니다. –

1
from datetime import datetime 
from datetime import timedelta 

StartDate = "20100103" 

Date = datetime.strptime(StartDate, "%Y%m%d") 
EndDate = Date + timedelta(days=10) 
1
>>> import datetime 
>>> today = datetime.datetime.now().date() 
>>> today 
datetime.date(2016, 6, 14) 
>>> today + datetime.timedelta(days=10) 
datetime.date(2016, 6, 24) 

그것을 깰 수 있습니다. 요일을 추가하려면 요일을 숫자로 지정하려면 timedelta 함수를 사용하십시오.

관련 문제