我正在尝试从某个日期+五天后获取日期,月份和年份。
这是我的代码:
import datetime
day = datetime.datetime(2018,3,27).strftime("%d")
month = datetime.datetime(2018,3,27).strftime("%m")
year = datetime.datetime(2018,3,27).strftime("%Y")
day += datetime.timedelta(days=5)
month += datetime.timedelta(days=5)
year += datetime.timedelta(days=5)
print (day)
print (month)
print (year)
我得到的错误:
TypeError: must be str, not datetime.timedelta
我尝试使用str()进行转换,但是后来我得到了20195。
有人知道如何解决问题吗?
答案 0 :(得分:1)
为什么要麻烦分别计算日,月和年的时间增量?一次完成所有操作。
import datetime
start = datetime.datetime(2018,3,27)
end = start + datetime.timedelta(days=5)
print (end.day)
print (end.month)
print (end.year)
答案 1 :(得分:0)
在我看来,您正在使它变得比它需要的复杂一些:P。
如果您只是简化一下代码,它就可以正常工作。
import datetime
my_date = datetime.datetime(2018,3,27) + datetime.timedelta(days=5)
print (my_date)
运行时
2018-04-01 00:00:00
如果您想在问题的不同行上使用3个值,则可以执行以下操作
my_date.strftime('%d\n%m\n%Y')
答案 2 :(得分:0)
你应该穿这样的衣服。
from datetime import datetime
from datetime import timedelta
today = datetime.now()
print(today)
2019-05-02 15:46:58.262000
today_plus_five_days = today + timedelta(days = 5)
print(today_plus_five_days)
2019-05-07 15:46:58.262000