我有一个日期列表,我想从每个日期中减去实际日期以了解过去了多少天。有没有快速的方法来做到这一点?

I have a list of dates and I want to subtract actual date from each of them to know how many day passed. Is there any fast way to do this?

我知道我应该 import datetime 有实际日期。但现在剩下的对我来说都是黑魔法。

例如。 dates = ['2019-010-11', '2013-05-16', '2011-06-16', '2000-04-22']

actual_date = datetime.datetime.now()

我怎样才能减去这个并得到新的列表,其中包含从 datesactual_date 过去的天数?

如果我没理解错的话,你需要找到当前日期,然后找到当前日期和列表中的日期之间的天数?

如果是这样,你可以试试这个:

from datetime import datetime, date

dates = ['2019-10-11', '2013-05-16', '2011-06-16', '2000-04-22']

actual_date = date.today()

days = []

for date in dates:
    date_object = datetime.strptime(date, '%Y-%m-%d').date()
    days_difference = (actual_date - date_object).days
    days.append(days_difference)

print(days)

我在这里做的是:

  • 将单个日期字符串转换为“日期”对象
  • 从实际日期中减去此日期。这也让你有时间,所以为了去除它,我们添加 .days.
  • 将结果保存到列表中,当然你可以对输出做任何你想做的事。