python: 添加任意天数
python: adding any number of days to date
我希望有人能给我指出正确的方向来处理日期和 timedelta。
我的理解是,要将任何数字(例如:10 天)添加到日期,您需要将其转换为时间增量。
如果这是正确的,当它是整数时,我如何将任何数字添加到日期?
任何文档或链接都很好 - 谢谢。
代码示例,我的日期如下:
x = 20100103 (formatted as YYYYMMDD)
x=20100103
x2 = int((datetime.datetime.strptime(str(x),"%Y%m%d") + datetime.timedelta(days=10)).strftime("%Y%m%d"))
分解
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 ...
from datetime import datetime
from datetime import timedelta
StartDate = "20100103"
Date = datetime.strptime(StartDate, "%Y%m%d")
EndDate = Date + timedelta(days=10)
>>> import datetime
>>> today = datetime.datetime.now().date()
>>> today
datetime.date(2016, 6, 14)
>>> today + datetime.timedelta(days=10)
datetime.date(2016, 6, 24)
无需将其转换为时间增量。就用timedelta函数,如果要加天,用days=N,对于小时,timedelta(hours=20)
我希望有人能给我指出正确的方向来处理日期和 timedelta。
我的理解是,要将任何数字(例如:10 天)添加到日期,您需要将其转换为时间增量。 如果这是正确的,当它是整数时,我如何将任何数字添加到日期?
任何文档或链接都很好 - 谢谢。
代码示例,我的日期如下:
x = 20100103 (formatted as YYYYMMDD)
x=20100103
x2 = int((datetime.datetime.strptime(str(x),"%Y%m%d") + datetime.timedelta(days=10)).strftime("%Y%m%d"))
分解
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 ...
from datetime import datetime
from datetime import timedelta
StartDate = "20100103"
Date = datetime.strptime(StartDate, "%Y%m%d")
EndDate = Date + timedelta(days=10)
>>> import datetime
>>> today = datetime.datetime.now().date()
>>> today
datetime.date(2016, 6, 14)
>>> today + datetime.timedelta(days=10)
datetime.date(2016, 6, 24)
无需将其转换为时间增量。就用timedelta函数,如果要加天,用days=N,对于小时,timedelta(hours=20)