在Python中向日期添加天数

659 投票
18 回答
977937 浏览
提问于 2025-04-16 22:30

我有一个日期 "10/10/11(m-d-y)",我想用一个Python脚本给它加上5天。请考虑一个通用的解决方案,能够处理月份的最后几天。

我使用了以下代码:

import re
from datetime import datetime

StartDate = "10/10/11"

Date = datetime.strptime(StartDate, "%m/%d/%y")

print Date -> 打印出来的是 '2011-10-10 00:00:00'

现在我想在这个日期上加5天。我用了以下代码:

EndDate = Date.today()+timedelta(days=10)

结果出现了这个错误:

name 'timedelta' is not defined

18 个回答

45

如果你已经在使用 pandas 这个库,你可以省点地方,不用指定格式:

import pandas as pd
startdate = "10/10/2011"
enddate = pd.to_datetime(startdate) + pd.DateOffset(days=5)
232

首先要导入 timedeltadate

from datetime import timedelta, date

然后,使用 date.today() 可以获取今天的日期和时间,接着你可以把一个 timedelta 加到这个日期上:

end_date = date.today() + timedelta(days=10)
938

之前的回答是对的,但通常来说,做以下这个会更好:

import datetime

然后你可以使用 datetime.timedelta 来实现:

date_1 = datetime.datetime.strptime(start_date, "%m/%d/%y")

end_date = date_1 + datetime.timedelta(days=10)

撰写回答