在 Python 中向日期添加月份

在 Python 中向日期添加月份

Add months to a date in Python

使用模块中的relativedeltadateutil.relativedelta将月份添加到 Python 中的日期,例如result_1 = date_1 + relativedelta(months=+3). 该类relativedelta自动处理具有不同天数的月份。

主程序
from datetime import date, datetime from dateutil.relativedelta import relativedelta # ✅ add months to a date date_1 = date(2023, 6, 24) print(date_1) # 👉️ 2023-06-24 result_1 = date_1 + relativedelta(months=+3) print(result_1) # 👉️ 2023-09-24 # ---------------------------------------- # ✅ add months to current date date_2 = date.today() print(date_2) # 👉️ 2022-06-20 result_2 = date_2 + relativedelta(months=+2) print(result_2) # 👉️ 2022-08-20 # ---------------------------------------- # ✅ add months to date (using datetime object) my_str = '09-24-2023' # 👉️ (mm-dd-yyyy) date_3 = datetime.strptime(my_str, '%m-%d-%Y') print(date_3) # 👉️ 2023-09-24 00:00:00 result_3 = date_3 + relativedelta(months=+2) print(result_3) # 👉️ 2023-11-24 00:00:00 # ---------------------------------------- # ✅ add months to current date (using datetime object) date_4 = datetime.today() print(date_4) # 👉️ 2022-06-20 10:48:05.892375 result_4 = date_4 + relativedelta(months=+3) print(result_4) # 👉️ 2022-09-20 10:48:05.892375

确保导入relativedelta类和datedatetime
类。

如果您没有安装该python-dateutil模块,请运行以下命令:
pip install python-dateutil

第一个示例显示如何向date对象添加月份。

主程序
from datetime import date, datetime from dateutil.relativedelta import relativedelta date_1 = date(2023, 6, 24) print(date_1) # 👉️ 2023-06-24 result_1 = date_1 + relativedelta(months=+3) print(result_1) # 👉️ 2023-09-24

请注意,我们在月数前加上了前缀,+表示我们要添加指定的月数。

该类relativedelta自动处理具有不同天数的月份,并且添加一个月永远不会超过月份边界。

如有必要,年份将自动滚动(例如,将 11 月的日期增加 5 个月)。

第二个示例将月份添加到date表示当前日期的对象。

主程序
from datetime import date, datetime from dateutil.relativedelta import relativedelta date_2 = date.today() print(date_2) # 👉️ 2022-06-20 result_2 = date_2 + relativedelta(months=+2) print(result_2) # 👉️ 2022-08-20

date.today

方法返回一个
表示当前本地日期的对象
date

第三个示例datetime从日期字符串创建一个对象并向其添加月份。

主程序
from datetime import datetime from dateutil.relativedelta import relativedelta my_str = '09-24-2023' # 👉️ (mm-dd-yyyy) date_3 = datetime.strptime(my_str, '%m-%d-%Y') print(date_3) # 👉️ 2023-09-24 00:00:00 result_3 = date_3 + relativedelta(months=+2) print(result_3) # 👉️ 2023-11-24 00:00:00

datetime.strptime()方法返回一个日期时间对象,该

对象对应于提供的日期字符串,根据格式进行解析。

如果您有一个以不同方式格式化的日期字符串,请使用
此文档表
来查找您应该作为第二个参数传递给该
strptime()方法的格式代码。

第四个示例使用对象将月份添加到当前日期datetime

主程序
from datetime import datetime from dateutil.relativedelta import relativedelta date_4 = datetime.today() print(date_4) # 👉️ 2022-06-20 10:48:05.892375 result_4 = date_4 + relativedelta(months=+3) print(result_4) # 👉️ 2022-09-20 10:48:05.892375

datetime.today()方法返回当前

本地日期时间。

发表评论