在日期中添加时间单位|蟒蛇

时间:2019-05-02 18:39:31

标签: python python-3.x python-2.7

我正在尝试从某个日期+五天后获取日期,月份和年份。

这是我的代码:

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。

有人知道如何解决问题吗?

3 个答案:

答案 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