python获取三年前的日期

three_yrs_ago_day = (datetime.now() - relativedelta(years=3)).strftime(’%Y%m%d’)

### Python 获取上个月日期的方法 在 Python 中,可以利用 `datetime` 和 `dateutil.relativedelta` 模块来实现对日期的操作。以下是具体方法: #### 方法一:使用 `dateutil.relativedelta` `dateutil.relativedelta` 提供了一种简单的方式来调整日期的时间间隔。以下代码展示如何计算上个月的日期[^1]。 ```python from datetime import datetime from dateutil.relativedelta import relativedelta # 当前日期 current_date = datetime.now() # 上个月的日期 last_month = current_date - relativedelta(months=1) print("当前日期:", current_date.strftime("%Y-%m-%d")) print("上个月的日期:", last_month.strftime("%Y-%m-%d")) ``` 此方法能够自动处理月份天数差异以及闰年等问题,因此更加可靠和灵活。 --- #### 方法二:仅使用标准库 `datetime` 如果不想依赖外部库,也可以通过纯标准库的方式完成相同功能。下面是一段示例代码[^2]: ```python import datetime now = datetime.datetime.now() year = now.year month = now.month if month == 1: year -= 1 month = 12 else: month -= 1 last_month_date = datetime.date(year, month, 1) print("上个月的第一天:", last_month_date.strftime("%Y-%m-%d")) ``` 这段代码手动判断了当月是否为一年的第一个月(即 January),并相应地调整了年份和月份。 --- #### 方法获取上个月最后一天 有时还需要知道上个月的具体结束日期。可以通过如下方式获得[^3]: ```python import calendar import datetime def get_last_day_of_previous_month(): today = datetime.date.today() first_day_this_month = datetime.date(today.year, today.month, 1) last_day_prev_month = first_day_this_month - datetime.timedelta(days=1) return last_day_prev_month result = get_last_day_of_previous_month() print("上个月的最后一天:", result.strftime("%Y-%m-%d")) ``` 上述逻辑基于本月第一天减去一天即可得到上个月的最后一天。 --- ### 总结 以上种方法分别适用于不同的场景需求。对于简单的日期偏移操作推荐使用 **`relativedelta`**;而对于更轻量化的解决方案,则可以选择只依靠内置的标准库 `datetime` 实现复杂度较低的功能开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值