python - 如何使用 python datetime 确定给定日期 2017-08-23 之前的一年?

标签 python date datetime

我正在尝试确定 2017 年 8 月 23 日之前一年的日期。

我见过的所有示例中,给定日期之前的一年都显示了 datetime.datetime.now() 的使用。我需要确定 2017-08-23 之前的一年。

last_date = 2017-08-23
one_year_prior = last_date - dt.timedelta(days=3*365)

unsupported operand type(s) for -: 'str' and 'datetime.timedelta'

我希望在 2017-08-23 之前拿到一年。我需要格式为 yyyy-mm-dd 的日期作为作业的下一部分。

最佳答案

为了应用timedelta(),您需要将字符串转换为日期时间。一种方法是使用 strptime():

>>> from datetime import datetime, timedelta

>>> s = "2017-08-23"

>>> dt = datetime.strptime(s, "%Y-%m-%d")

>>> one_year_prior = dt - timedelta(days=365)
>>> one_year_prior
datetime.datetime(2016, 8, 23, 0, 0)

关于python - 如何使用 python datetime 确定给定日期 2017-08-23 之前的一年?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58785200/

相关文章:

python - 多个 WindowsBaloonTip/TrayTip 通知?

python - Pandas DataFrame 使用日期和计数进行透视

php - 获取没有星期五的月份中的第几天

java - 如何在解析时存储日期和时间

sql-server - 如何获取当前 session 的日期格式

python - 在类的每个方法中捕获相同的异常

Python:使用字符串作为变量?

Java Android Date 周五返回错​​误的 GetDay()

c# - 比较 DateTime 值是否为 "between"特定时间

python - 在保持值(value)关联的同时在 Pandas 中重新采样