我希望有人能指出我在处理日期和时间方面的正确方向。
我的理解是,要将任意数字(例如:10天)添加到日期,您需要将其转换为timedelta。 如果这是正确的,如何在一个整数的日期添加任何数字?
任何文档或链接都会很棒 - 谢谢。
代码示例,我的日期如下:
x = 20100103 (formatted as YYYYMMDD)
答案 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)