给定天数和日期,然后在 python 中找到开始或结束日期

Given number of days and date then find the start or end date in python

我知道有一个来自“datetime”的包“date” 用于解决“计算两个给定日期之间的天数”,但这不是我要找的

让我举个例子来进一步描述我的问题。

让 says:10 天,基准是 2021/09/09 我想知道 10 天前的日期 8/30 显然是我要找的答案

这可能是一个简单的问题。仍然需要帮助。谢谢

试试这个

from datetime import datetime  
from datetime import timedelta  

print(datetime.now() - timedelta(days=10))  

这可能行得通:

from datetime import date, timedelta

day1 = date(2021, 9, 9)
difference = timedelta(days=10)
day2 = day1 - difference #Your answer
print(day2)

我想你正在找这个。您还可以将日期作为日期时间对象传递

from datetime import datetime, timedelta

def get_start_end_day(day, delta):
    if isinstance(day, str):
        day = datetime.strptime(day, '%Y/%m/%d')
    return day - timedelta(days=delta), day + timedelta(days=delta)

days = get_start_end_day('2021/09/09', 10)

print(days)

输出

(datetime.datetime(2021, 8, 30, 0, 0), datetime.datetime(2021, 9, 19, 0, 0))