给定天数和日期,然后在 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))
我知道有一个来自“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))