python:添加任意天数

时间:2016-06-14 21:31:35

标签: python date timedelta

我希望有人能指出我在处理日期和时间方面的正确方向。

我的理解是,要将任意数字(例如:10天)添加到日期,您需要将其转换为timedelta。 如果这是正确的,如何在一个整数的日期添加任何数字?

任何文档或链接都会很棒 - 谢谢。

代码示例,我的日期如下:

x = 20100103 (formatted as YYYYMMDD)

3 个答案:

答案 0 :(得分:3)

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 ... 

答案 1 :(得分:3)

>>> import datetime
>>> today = datetime.datetime.now().date()
>>> today
datetime.date(2016, 6, 14)
>>> today + datetime.timedelta(days=10)
datetime.date(2016, 6, 24)

没有必要将其转换为timedelta。只需使用timedelta函数,如果要添加天数,请使用days = N,小时,timedelta(hours=20)

答案 2 :(得分:1)

from datetime import datetime
from datetime import timedelta

StartDate = "20100103"

Date = datetime.strptime(StartDate, "%Y%m%d")
EndDate = Date + timedelta(days=10)