问题与日期时间“对象具有timedelta`计算Python中没有属性

问题描述 投票:0回答:1

我试图创建日期的列表添加到一个数据帧。

该列表包含的开始日期(最后一次数据帧是更新),直到今天的日期。

我的代码如下所示:

from datetime import datetime
from datetime import timedelta

# get today's date
todays_date = datetime.now()

# read in last date acquired
last_date = old_df['Market Date'].iloc[-1]

该LAST_DATE开始在str格式:

print(last_date)
2019-01-12

然后,我改变日期时间:

last_date = datetime.strptime(last_date, '%Y-%M-%d')

# get difference in dates from now since the last update
numdays = todays_date - last_date
days = int(numdays / timedelta(days=1))

date_list = [todays_date - last_date.timedelta(days=x) for x in range(0, days)]
date_list = [i.strftime('%Y%m%d') for i in date_list]

我得到的错误:

  File "<ipython-input-64-29fe97665970>", line 35, in <listcomp>
    date_list = [todays_date - last_date.timedelta(days=x) for x in range(0, days)]
AttributeError: 'datetime.datetime' object has no attribute 'timedelta'

last_date是格式为日期时间,所以我不知道为什么我得到这个错误。

python python-3.x datetime dataframe timedelta
1个回答
2
投票

timedelta()datetime.datetime模块中的功能。

但是,你要访问它datetime.datetime对象的属性。

todays_date - timedelta(days=x)应该只是罚款。

© www.soinside.com 2019 - 2024. All rights reserved.