|
发表于 2023-4-14 11:05:32
|
显示全部楼层
您好!为了计算给定年数和天数之前的日期,可以将 days_to_date 函数进行如下修改:
- import datetime
- def years_days_to_date(years, days):
- total_days = years * 365 + days
- end_date = datetime.datetime.now() - datetime.timedelta(days=total_days)
- return end_date.strftime('%Y/%m/%d')
- # 使用函数计算 2 年 268 天前的日期
- result = years_days_to_date(2, 268)
- print(result)
复制代码
需要注意的是,这个方法没有考虑闰年的情况,因此可能会有一两天的误差。
如果您希望考虑闰年,可以使用 dateutil 库的 relativedelta 函数进行更精确的计算:
首先,您需要安装 dateutil 库,使用以下命令:
- pip install python-dateutil
复制代码
然后,您可以使用以下代码:
- import datetime
- from dateutil.relativedelta import relativedelta
- def years_days_to_date(years, days):
- now = datetime.datetime.now()
- end_date = now - relativedelta(years=years) - datetime.timedelta(days=days)
- return end_date.strftime('%Y/%m/%d')
- # 使用函数计算 2 年 268 天前的日期
- result = years_days_to_date(2, 268)
- print(result)
复制代码
这个方法会更精确地考虑闰年的情况。 |
|