【问题标题】:Adding X days to a date将 X 天添加到日期
【发布时间】:2023-03-09 13:07:01
【问题描述】:

我正在制作一个股票价格预测 LSTM 模型。

我从输入中得到了两个日期:

from datetime import datetime    
data1 = datetime.strptime(data1input, '%Y%m%d').date()
data2 = datetime.strptime(data2input, '%Y%m%d').date()

两个日期之间的天数差是整个周期的 80%,所以我需要知道整个周期的天数及其 20%:

whole_days=round((date1.days * 100)/80)
print(whole_time)
left_days = round(whole_time * .2)
print(left_time)

现在,我想通过将 left_time 天数添加到 data2 来了解结果日期。但这给了我一个错误。执行此操作的正确代码是什么?

data_left = data2 + datetime.timedelta(days=left_time)

type object 'datetime.datetime' has no attribute 'timedelta'

【问题讨论】:

  • 看看this
  • 只需使用from datetime import timedelta 并使用timedelta(days=left_time) 而不是datetime.timedelta(days=left_time)

标签: python datetime google-colaboratory


【解决方案1】:

我尝试将输入日期转换为序数并减去它们:

data1_ord = data1.toordinal()
data2_ord = data2.toordinal()
percent80_days = data2_ord - data1_ord
percent80_days

所以我只是使用序数日期并将最后一个序数转换为日期 成功了!

percent100_days=round((percent80_days * 100)/80)
percent20_days = round(percent100_days * .2)
data3_ord = data2_ord + percent20_days
data3 = datetime.fromordinal(data3_ord).date()
print(data3)

【讨论】:

    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2011-01-20
    • 2021-04-26
    • 2013-04-21
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多